git/builtin
Michael Haggerty 29a7cf9644 remote rm: handle symbolic refs correctly
In the modern world of reference backends, it is not OK to delete a
symref by unlink()ing the file directly. This must be done via the refs
API.

We do so by adding the symref to the list of references to delete along
with the non-symbolic references, then calling delete_refs() with the
new flags option set to REF_NODEREF.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-06-20 11:38:18 -07:00
..
add.c Merge branch 'jc/add-u-A-default-to-top' into maint 2015-11-05 12:18:12 -08:00
am.c Merge branch 'jc/am-i-v-fix' into maint 2016-03-10 11:13:41 -08:00
annotate.c
apply.c Merge branch 'cc/apply' 2016-04-13 14:12:34 -07:00
archive.c
bisect--helper.c
blame.c Merge branch 'tb/blame-force-read-cache-to-workaround-safe-crlf' 2016-04-13 14:12:41 -07:00
branch.c delete_branches(): use resolve_refdup() 2016-06-13 11:23:49 +02:00
bundle.c
cat-file.c cat-file: read batch stream with strbuf_getline() 2016-01-15 10:35:06 -08:00
check-attr.c give "nbuf" strbuf a more meaningful name 2016-02-01 13:43:02 -08:00
check-ignore.c give "nbuf" strbuf a more meaningful name 2016-02-01 13:43:02 -08:00
check-mailmap.c strbuf: introduce strbuf_getline_{lf,nul}() 2016-01-15 10:12:51 -08:00
check-ref-format.c use xmallocz to avoid size arithmetic 2016-02-22 14:51:09 -08:00
checkout-index.c checkout-index: disallow "--no-stage" option 2016-02-01 13:43:49 -08:00
checkout.c checkout_paths(): remove unneeded flag variable 2016-04-10 11:35:36 -07:00
clean.c Merge branch 'jk/tighten-alloc' 2016-02-26 13:37:16 -08:00
clone.c Merge branch 'sb/submodule-parallel-update' 2016-04-06 11:39:01 -07:00
column.c column: read lines with strbuf_getline() 2016-01-15 10:35:07 -08:00
commit-tree.c Convert struct object to object_id 2015-11-20 08:02:05 -05:00
commit.c Merge branch 'ad/commit-have-m-option' 2016-04-22 15:45:07 -07:00
config.c Merge branch 'jk/config-get-urlmatch' 2016-04-03 10:29:26 -07:00
count-objects.c
credential.c
describe.c Remove get_object_hash. 2015-11-20 08:02:05 -05:00
diff-files.c
diff-index.c
diff-tree.c Remove get_object_hash. 2015-11-20 08:02:05 -05:00
diff.c diff: activate diff.renames by default 2016-02-25 11:31:02 -08:00
fast-export.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
fetch-pack.c fetch-pack: fix object_id of exact sha1 2016-03-01 11:19:19 -08:00
fetch.c delete_refs(): add a flags argument 2016-06-20 11:38:18 -07:00
fmt-merge-msg.c Merge branch 'rs/pop-commit' into maint 2015-12-11 11:14:13 -08:00
for-each-ref.c ref-filter: add option to match literal pattern 2015-09-17 10:02:49 -07:00
fsck.c fsck_head_link(): remove unneeded flag variable 2016-04-10 11:35:33 -07:00
gc.c Merge branch 'dk/gc-idx-wo-pack' into maint 2015-12-04 11:33:08 -08:00
get-tar-commit-id.c usage: do not insist that standard input must come from a file 2015-10-16 15:27:52 -07:00
grep.c Merge branch 'jk/tighten-alloc' into maint 2016-03-10 11:13:43 -08:00
hash-object.c Merge branch 'jk/options-cleanup' 2016-02-10 14:20:08 -08:00
help.c convert trivial cases to FLEX_ARRAY macros 2016-02-22 14:51:09 -08:00
index-pack.c Merge branch 'jc/index-pack' 2016-04-03 10:29:31 -07:00
init-db.c Merge branch 'jk/check-repository-format' 2016-04-13 14:12:28 -07:00
interpret-trailers.c interpret-trailers: add option for in-place editing 2016-01-14 12:22:17 -08:00
log.c Merge branch 'lt/pretty-expand-tabs' 2016-04-13 14:12:36 -07:00
ls-files.c Merge branch 'jk/options-cleanup' 2016-02-10 14:20:08 -08:00
ls-remote.c ls-remote: add support for showing symrefs 2016-01-19 10:07:56 -08:00
ls-tree.c convert trivial sprintf / strcpy calls to xsnprintf 2015-09-25 10:18:18 -07:00
mailinfo.c mailinfo: libify 2015-10-21 15:59:34 -07:00
mailsplit.c mailsplit: make PATH_MAX buffers dynamic 2015-09-25 10:18:18 -07:00
merge-base.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
merge-file.c Merge branch 'jk/merge-file-exit-code' into maint 2015-11-03 15:32:41 -08:00
merge-index.c use sha1_to_hex_r() instead of strcpy 2015-10-05 11:08:05 -07:00
merge-ours.c
merge-recursive.c convert trivial sprintf / strcpy calls to xsnprintf 2015-09-25 10:18:18 -07:00
merge-tree.c use xmallocz to avoid size arithmetic 2016-02-22 14:51:09 -08:00
merge.c Merge branch 'en/merge-trivial-fix' 2016-04-25 15:17:15 -07:00
mktag.c usage: do not insist that standard input must come from a file 2015-10-16 15:27:52 -07:00
mktree.c Merge branch 'jk/tighten-alloc' 2016-02-26 13:37:16 -08:00
mv.c use st_add and st_mult for allocation size computation 2016-02-22 14:51:09 -08:00
name-rev.c Remove get_object_hash. 2015-11-20 08:02:05 -05:00
notes.c Merge branch 'sb/misc-cleanups' 2016-04-13 14:12:34 -07:00
pack-objects.c Merge branch 'jk/path-name-safety-2.6' into jk/path-name-safety-2.7 2016-03-16 10:42:32 -07:00
pack-redundant.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
pack-refs.c
patch-id.c usage: do not insist that standard input must come from a file 2015-10-16 15:27:52 -07:00
prune-packed.c
prune.c Merge branch 'jk/repository-extension' into maint 2015-11-03 15:32:25 -08:00
pull.c pull --rebase: add --[no-]autostash flag 2016-03-21 13:30:36 -07:00
push.c Merge branch 'mm/push-default-warning' 2016-02-26 13:37:25 -08:00
read-tree.c convert trivial sprintf / strcpy calls to xsnprintf 2015-09-25 10:18:18 -07:00
receive-pack.c Merge branch 'dt/pre-refs-backend' 2016-04-25 15:17:15 -07:00
reflog.c convert trivial cases to FLEX_ARRAY macros 2016-02-22 14:51:09 -08:00
remote-ext.c convert manual allocations to argv_array 2016-02-22 14:50:32 -08:00
remote-fd.c
remote.c remote rm: handle symbolic refs correctly 2016-06-20 11:38:18 -07:00
repack.c strbuf: introduce strbuf_getline_{lf,nul}() 2016-01-15 10:12:51 -08:00
replace.c Convert struct object to object_id 2015-11-20 08:02:05 -05:00
rerere.c Sync with 2.6.1 2015-10-05 13:20:08 -07:00
reset.c Remove get_object_hash. 2015-11-20 08:02:05 -05:00
rev-list.c Merge branch 'jk/path-name-safety-2.6' into jk/path-name-safety-2.7 2016-03-16 10:42:32 -07:00
rev-parse.c Merge branch 'jk/rev-parse-local-env-vars' 2016-04-03 10:29:27 -07:00
revert.c
rm.c Merge branch 'nd/ita-cleanup' into maint 2016-02-22 13:10:21 -08:00
send-pack.c Merge branch 'sk/send-pack-all-fix' 2016-04-13 14:12:33 -07:00
shortlog.c Merge branch 'jk/shortlog' 2016-01-28 16:10:14 -08:00
show-branch.c Merge branch 'rs/show-branch-argv-array' into maint 2015-12-11 11:14:14 -08:00
show-ref.c show-ref: stop using PARSE_OPT_NO_INTERNAL_HELP 2015-11-20 08:02:07 -05:00
stripspace.c stripspace: call U+0020 a "space" instead of a "blank" 2016-01-29 16:02:34 -08:00
submodule--helper.c Merge branch 'sb/submodule-helper-clone-regression-fix' 2016-04-22 15:45:04 -07:00
symbolic-ref.c symbolic-ref: propagate error code from create_symref() 2015-12-21 12:03:03 -08:00
tag.c tag: add the option to force signing of annotated tags 2016-03-22 15:13:40 -07:00
unpack-file.c convert trivial sprintf / strcpy calls to xsnprintf 2015-09-25 10:18:18 -07:00
unpack-objects.c Remove get_object_hash. 2015-11-20 08:02:05 -05:00
update-index.c Merge branch 'jk/options-cleanup' 2016-02-10 14:20:08 -08:00
update-ref.c
update-server-info.c
upload-archive.c upload-archive: convert sprintf to strbuf 2015-09-25 10:18:18 -07:00
var.c
verify-commit.c
verify-pack.c
verify-tag.c
worktree.c worktree: add: introduce --checkout option 2016-03-29 11:12:36 -07:00
write-tree.c