plan9fox/sys/src/cmd/git
Ori Bernstein 03e5d9e9e2 git/merge: preserve exec bit correctly
A while ago, qwx noticed that we clobbered the exec
bit when merging files. This is not what we want, so
we changed the operator precedence to avoid merging
dirty files implicitly.

But we do want to merge, because it's convenient for
maintaining permissions. So, instead, we should do a
3 way merge of the exec bit.

This patch does that, as well as reverting the rollback
of that change.

While we're here, we adjust the timestamps correctly
in git/branch.

This requires changes to git/fs, because without an open
handler, lib9p allows opening any file with any mode,
which confuses 'test -x'.
2022-04-16 23:53:19 +00:00
..
add git: better handling of absolute paths, regex metachars 2021-08-17 04:31:15 +00:00
branch git/merge: preserve exec bit correctly 2022-04-16 23:53:19 +00:00
clone git: better handling of absolute paths, regex metachars 2021-08-17 04:31:15 +00:00
commit git/commit: squelch error when run outside repository 2022-01-09 17:37:29 +00:00
compat git/compat: add support for ls-remote [-d] 2021-08-25 02:24:15 +00:00
conf.c git/conf: check in /sys/lib/git/config as a fallback to user-wide config 2021-06-08 20:13:57 +00:00
delta.c git: got git? 2021-05-16 18:49:45 -07:00
diff git/diff: clean up diffs 2021-08-23 01:22:04 +00:00
export git/export: use 'date -f' instead of 'date -m' 2021-08-12 14:42:47 +00:00
fetch.c git/pull: fetch all branches (please test) 2022-04-16 23:52:10 +00:00
fs.c git/merge: preserve exec bit correctly 2022-04-16 23:53:19 +00:00
git.h git: use commit date as traversal hint instead of author date 2022-03-17 01:41:44 +00:00
import git/import: squash leading/trailing/consecutive blanks and strip trailing space 2022-04-26 19:06:53 +00:00
init git: create .git/objects/ on git/init 2021-07-06 16:21:18 +00:00
log.c git/query: refactor graph painting algorithm (findtwixt, lca) 2022-03-16 21:41:59 +00:00
merge git: separate author and committer 2021-09-03 02:47:18 +00:00
mkfile git: got git? 2021-05-16 18:49:45 -07:00
objset.c git: got git? 2021-05-16 18:49:45 -07:00
ols.c git: got git? 2021-05-16 18:49:45 -07:00
pack.c git: size cache in bytes, not objects 2022-01-02 03:37:23 +00:00
proto.c git/fetch: improve detection of dumb http protocol 2022-03-17 01:41:09 +00:00
pull git/pull: fetch all branches (please test) 2022-04-16 23:52:10 +00:00
push git/push, git/send: get better about erroring out early 2021-06-13 12:48:49 +00:00
query.c git/query: fix spurious merge requests 2021-09-11 17:46:26 +00:00
rebase distproto: sync with hg 2021-06-06 13:21:53 -04:00
ref.c git/query: refactor graph painting algorithm (findtwixt, lca) 2022-03-16 21:41:59 +00:00
repack.c git: got git? 2021-05-16 18:49:45 -07:00
revert git/revert: update modification time on revert 2022-02-27 04:27:56 +00:00
rm git: got git? 2021-05-16 18:49:45 -07:00
save.c git: separate author and committer 2021-09-03 02:47:18 +00:00
send.c git/send: allow the remote to have refs that we don't 2021-06-06 13:07:51 -04:00
serve.c git/serve: add a '\n' after HEAD 2021-08-25 22:15:34 +00:00
util.c git: use commit date as traversal hint instead of author date 2022-03-17 01:41:44 +00:00
walk.c git/fs: move mount point to $repo/.git/fs 2021-05-30 17:46:21 -07:00