|
|
@ -1,4 +1,4 @@ |
|
|
|
What's cooking in git.git (Jul 2008, issue #02; Sun, 06) |
|
|
|
What's cooking in git.git (Jul 2008, issue #03; Mon, 07) |
|
|
|
-------------------------------------------------------- |
|
|
|
-------------------------------------------------------- |
|
|
|
|
|
|
|
|
|
|
|
Here are the topics that have been cooking. Commits prefixed |
|
|
|
Here are the topics that have been cooking. Commits prefixed |
|
|
@ -45,26 +45,49 @@ n |
|
|
|
---------------------------------------------------------------- |
|
|
|
---------------------------------------------------------------- |
|
|
|
[New Topics] |
|
|
|
[New Topics] |
|
|
|
|
|
|
|
|
|
|
|
* js/maint-daemon-syslog (Thu Jul 3 16:27:24 2008 +0100) 1 commit |
|
|
|
* jc/rebase-orig-head (Mon Jul 7 00:16:38 2008 -0700) 1 commit |
|
|
|
- [PARKED improvement suggested not rolled in] git daemon: avoid |
|
|
|
+ Teach "am" and "rebase" to mark the original position with |
|
|
|
calling syslog() from a signal handler |
|
|
|
ORIG_HEAD |
|
|
|
|
|
|
|
|
|
|
|
This will eventually appear in 'maint'; currently parked on 'pu', thoug= |
|
|
|
* sb/sequencer (Tue Jul 1 04:38:34 2008 +0200) 4 commits |
|
|
|
h. |
|
|
|
. Migrate git-am to use git-sequencer |
|
|
|
|
|
|
|
. Add git-sequencer test suite (t3350) |
|
|
|
|
|
|
|
. Add git-sequencer prototype documentation |
|
|
|
|
|
|
|
. Add git-sequencer shell prototype |
|
|
|
|
|
|
|
|
|
|
|
* jc/report-tracking (Sun Jul 6 02:54:56 2008 -0700) 5 commits |
|
|
|
* js/pick-root (Fri Jul 4 16:19:52 2008 +0100) 1 commit |
|
|
|
- branch -r -v: do not spit out garbage |
|
|
|
+ Allow cherry-picking root commits |
|
|
|
+ stat_tracking_info(): clear object flags used during counting |
|
|
|
|
|
|
|
+ git-branch -v: show the remote tracking statistics |
|
|
|
|
|
|
|
+ git-status: show the remote tracking statistics |
|
|
|
|
|
|
|
+ Refactor "tracking statistics" code used by "git checkout" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Makes the "your branch is ahead of the tracked one by N commits" logic = |
|
|
|
* ab/bundle (Sat Jul 5 17:26:40 2008 -0400) 1 commit |
|
|
|
and |
|
|
|
+ Teach git-bundle to read revision arguments from stdin like git- |
|
|
|
messages available to other commands; status and branch are updated. |
|
|
|
rev-list. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---------------------------------------------------------------- |
|
|
|
|
|
|
|
[Will merge to master soon] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* js/apply-root (Sun Jul 6 18:36:01 2008 -0700) 3 commits |
|
|
|
|
|
|
|
+ git-apply --directory: make --root more similar to GNU diff |
|
|
|
|
|
|
|
+ apply --root: thinkofix. |
|
|
|
|
|
|
|
+ Teach "git apply" to prepend a prefix with "--root=3D<root>" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* jc/reflog-expire (Sat Jun 28 22:24:49 2008 -0700) 2 commits |
|
|
|
|
|
|
|
+ Make default expiration period of reflog used for stash infinite |
|
|
|
|
|
|
|
+ Per-ref reflog expiry configuration |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
As 1.6.0 will be a good time to make backward incompatible changes, the |
|
|
|
|
|
|
|
tip commit makes the default expiry period of stash 'never', unless you |
|
|
|
|
|
|
|
configure them to expire explicitly using gc.refs/stash.* variables. |
|
|
|
|
|
|
|
Needs consensus, but I am guessing that enough people would want stash |
|
|
|
|
|
|
|
that does not expire. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* jk/pager-config (Thu Jul 3 07:46:57 2008 -0400) 1 commit |
|
|
|
|
|
|
|
+ Allow per-command pager config |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---------------------------------------------------------------- |
|
|
|
|
|
|
|
[Actively Cooking] |
|
|
|
|
|
|
|
|
|
|
|
* sg/stash-k-i (Fri Jun 27 16:37:15 2008 +0200) 1 commit |
|
|
|
* sg/stash-k-i (Fri Jun 27 16:37:15 2008 +0200) 1 commit |
|
|
|
- stash: introduce 'stash save --keep-index' option |
|
|
|
+ stash: introduce 'stash save --keep-index' option |
|
|
|
|
|
|
|
|
|
|
|
One weakness of our "partial commit" workflow support used to be that t= |
|
|
|
One weakness of our "partial commit" workflow support used to be that t= |
|
|
|
he |
|
|
|
he |
|
|
@ -74,11 +97,14 @@ state cannot be tested as a whole in the working tree. This allows you= |
|
|
|
to |
|
|
|
to |
|
|
|
temporarily stash the remaining changes in the working tree so that the |
|
|
|
temporarily stash the remaining changes in the working tree so that the |
|
|
|
index state before running "stash save --keep-index" can be seen in the |
|
|
|
index state before running "stash save --keep-index" can be seen in the |
|
|
|
working tree to be tested and then committed. A recommended workflow t= |
|
|
|
working tree to be tested and then committed. |
|
|
|
o |
|
|
|
|
|
|
|
use after that commit is made needs to be documented (and support needs= |
|
|
|
* am/stash-branch (Mon Jul 7 02:50:10 2008 +0530) 2 commits |
|
|
|
to |
|
|
|
+ Add a test for "git stash branch" |
|
|
|
be added if necessary). |
|
|
|
+ Implement "git stash branch <newbranch> <stash>" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Creates a new branch out of the stashed state, after returning from the |
|
|
|
|
|
|
|
interrupt that forced you to create the stash in the first place. |
|
|
|
|
|
|
|
|
|
|
|
* tr/add-i-e (Thu Jul 3 00:00:00 2008 +0200) 3 commits |
|
|
|
* tr/add-i-e (Thu Jul 3 00:00:00 2008 +0200) 3 commits |
|
|
|
+ git-add--interactive: manual hunk editing mode |
|
|
|
+ git-add--interactive: manual hunk editing mode |
|
|
@ -87,60 +113,75 @@ be added if necessary). |
|
|
|
|
|
|
|
|
|
|
|
Adds 'e/dit' action to interactive add command. |
|
|
|
Adds 'e/dit' action to interactive add command. |
|
|
|
|
|
|
|
|
|
|
|
* am/stash-branch (Thu Jul 3 11:46:05 2008 +0530) 1 commit |
|
|
|
* jc/report-tracking (Sun Jul 6 02:54:56 2008 -0700) 5 commits |
|
|
|
+ Implement "git stash branch <newbranch> <stash>" |
|
|
|
+ branch -r -v: do not spit out garbage |
|
|
|
|
|
|
|
+ stat_tracking_info(): clear object flags used during counting |
|
|
|
|
|
|
|
+ git-branch -v: show the remote tracking statistics |
|
|
|
|
|
|
|
+ git-status: show the remote tracking statistics |
|
|
|
|
|
|
|
+ Refactor "tracking statistics" code used by "git checkout" |
|
|
|
|
|
|
|
|
|
|
|
Creates a new branch out of the stashed state, after returning from the |
|
|
|
Makes the "your branch is ahead of the tracked one by N commits" logic = |
|
|
|
interrupt that forced you to create the stash in the first place. |
|
|
|
and |
|
|
|
|
|
|
|
messages available to other commands; status and branch are updated. |
|
|
|
|
|
|
|
|
|
|
|
* jc/grafts (Wed Jul 2 17:14:12 2008 -0700) 1 commit |
|
|
|
* jc/merge-theirs (Mon Jun 30 22:18:57 2008 -0700) 5 commits |
|
|
|
- Ignore graft during object transfer [broken wrt shallow clones] |
|
|
|
+ Make "subtree" part more orthogonal to the rest of merge- |
|
|
|
|
|
|
|
recursive. |
|
|
|
|
|
|
|
+ Teach git-pull to pass -X<option> to git-merge |
|
|
|
|
|
|
|
+ Teach git-merge to pass -X<option> to the backend strategy module |
|
|
|
|
|
|
|
+ git-merge-recursive-{ours,theirs} |
|
|
|
|
|
|
|
+ git-merge-file --ours, --theirs |
|
|
|
|
|
|
|
|
|
|
|
Cloning or fetching from a repository from grafts did not send objects |
|
|
|
Punting a merge by discarding your own work in conflicting parts but st= |
|
|
|
that are hidden by grafts, but the commits in the resulting repository = |
|
|
|
ill |
|
|
|
do |
|
|
|
salvaging the parts that are cleanly automerged. It is likely that thi= |
|
|
|
need these to pass fsck. This fixes object transfer to ignore grafts. |
|
|
|
s |
|
|
|
|
|
|
|
will result in nonsense mishmash, but somehow often people want this, s= |
|
|
|
|
|
|
|
o |
|
|
|
|
|
|
|
here they are. The interface to the backends is updated so that you ca= |
|
|
|
|
|
|
|
n |
|
|
|
|
|
|
|
say "git merge -Xours -Xsubtree=3Dfoo/bar/baz -s recursive other" now. |
|
|
|
|
|
|
|
|
|
|
|
Another fix is needed to git-prune so that it ignores grafts but treats |
|
|
|
The -X<option> part may change, Dscho mentions that a single-letter -X |
|
|
|
commits that are mentioned in grafts as reachable. |
|
|
|
that take stuck option is against syntax rules, and I think he's right. |
|
|
|
|
|
|
|
|
|
|
|
* jk/pager-config (Thu Jul 3 07:46:57 2008 -0400) 1 commit |
|
|
|
This is more "because we can", not "because we need to". |
|
|
|
- Allow per-command pager config |
|
|
|
|
|
|
|
|
|
|
|
* mv/merge-in-c (Mon Jul 7 19:24:20 2008 +0200) 15 commits |
|
|
|
|
|
|
|
- Build in merge |
|
|
|
|
|
|
|
+ Fix t7601-merge-pull-config.sh on AIX |
|
|
|
|
|
|
|
+ git-commit-tree: make it usable from other builtins |
|
|
|
|
|
|
|
+ Add new test case to ensure git-merge prepends the custom merge |
|
|
|
|
|
|
|
message |
|
|
|
|
|
|
|
+ Add new test case to ensure git-merge reduces octopus parents when |
|
|
|
|
|
|
|
possible |
|
|
|
|
|
|
|
+ Introduce reduce_heads() |
|
|
|
|
|
|
|
+ Introduce get_merge_bases_many() |
|
|
|
|
|
|
|
+ Add new test to ensure git-merge handles more than 25 refs. |
|
|
|
|
|
|
|
+ Introduce get_octopus_merge_bases() in commit.c |
|
|
|
|
|
|
|
+ git-fmt-merge-msg: make it usable from other builtins |
|
|
|
|
|
|
|
+ Move read_cache_unmerged() to read-cache.c |
|
|
|
|
|
|
|
+ Add new test to ensure git-merge handles pull.twohead and |
|
|
|
|
|
|
|
pull.octopus |
|
|
|
|
|
|
|
+ Move parse-options's skip_prefix() to git-compat-util.h |
|
|
|
|
|
|
|
+ Move commit_list_count() to commit.c |
|
|
|
|
|
|
|
+ Move split_cmdline() to alias.c |
|
|
|
|
|
|
|
|
|
|
|
---------------------------------------------------------------- |
|
|
|
---------------------------------------------------------------- |
|
|
|
[Will merge to master soon] |
|
|
|
[Graduated to "master"] |
|
|
|
|
|
|
|
|
|
|
|
* js/import-zip (Mon Jun 30 19:50:44 2008 +0100) 1 commit |
|
|
|
* js/import-zip (Mon Jun 30 19:50:44 2008 +0100) 1 commit |
|
|
|
+ Add another fast-import example, this time for .zip files |
|
|
|
+ Add another fast-import example, this time for .zip files |
|
|
|
|
|
|
|
|
|
|
|
* js/apply-root (Wed Jul 2 15:28:22 2008 -0700) 2 commits |
|
|
|
|
|
|
|
+ apply --root: thinkofix. |
|
|
|
|
|
|
|
+ Teach "git apply" to prepend a prefix with "--root=3D<root>" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* db/no-git-config (Mon Jun 30 03:37:47 2008 -0400) 1 commit |
|
|
|
* db/no-git-config (Mon Jun 30 03:37:47 2008 -0400) 1 commit |
|
|
|
+ Only use GIT_CONFIG in "git config", not other programs |
|
|
|
+ Only use GIT_CONFIG in "git config", not other programs |
|
|
|
|
|
|
|
|
|
|
|
* jc/reflog-expire (Sat Jun 28 22:24:49 2008 -0700) 2 commits |
|
|
|
|
|
|
|
+ Make default expiration period of reflog used for stash infinite |
|
|
|
|
|
|
|
+ Per-ref reflog expiry configuration |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
As 1.6.0 will be a good time to make backward incompatible changes, the |
|
|
|
|
|
|
|
tip commit makes the default expiry period of stash 'never', unless you |
|
|
|
|
|
|
|
configure them to expire explicitly using gc.refs/stash.* variables. |
|
|
|
|
|
|
|
Needs consensus, but I am guessing that enough people would want stash |
|
|
|
|
|
|
|
that does not expire. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* dr/ceiling (Mon May 19 23:49:34 2008 -0700) 4 commits |
|
|
|
* dr/ceiling (Mon May 19 23:49:34 2008 -0700) 4 commits |
|
|
|
+ Eliminate an unnecessary chdir("..") |
|
|
|
+ Eliminate an unnecessary chdir("..") |
|
|
|
+ Add support for GIT_CEILING_DIRECTORIES |
|
|
|
+ Add support for GIT_CEILING_DIRECTORIES |
|
|
|
+ Fold test-absolute-path into test-path-utils |
|
|
|
+ Fold test-absolute-path into test-path-utils |
|
|
|
+ Implement normalize_absolute_path |
|
|
|
+ Implement normalize_absolute_path |
|
|
|
|
|
|
|
|
|
|
|
This still feels "because we can", not "because we need to", but it cam= |
|
|
|
|
|
|
|
e |
|
|
|
|
|
|
|
from somebody who had the need to, and I do not think it hurts people |
|
|
|
|
|
|
|
without the environment variable set. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* jc/rerere (Sun Jun 22 02:04:31 2008 -0700) 5 commits |
|
|
|
* jc/rerere (Sun Jun 22 02:04:31 2008 -0700) 5 commits |
|
|
|
+ rerere.autoupdate |
|
|
|
+ rerere.autoupdate |
|
|
|
+ t4200: fix rerere test |
|
|
|
+ t4200: fix rerere test |
|
|
@ -151,85 +192,10 @@ without the environment variable set. |
|
|
|
A new configuration will allow paths that have been resolved cleanly by |
|
|
|
A new configuration will allow paths that have been resolved cleanly by |
|
|
|
rerere to be updated in the index automatically. |
|
|
|
rerere to be updated in the index automatically. |
|
|
|
|
|
|
|
|
|
|
|
To me, this is "because we can", but was something requested by Ingo, s= |
|
|
|
* js/maint-daemon-syslog (Thu Jul 3 16:27:24 2008 +0100) 1 commit |
|
|
|
o |
|
|
|
+ git daemon: avoid calling syslog() from a signal handler |
|
|
|
presumably some people may feel it useful in their workflow. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---------------------------------------------------------------- |
|
|
|
|
|
|
|
[Actively Cooking] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* mv/merge-in-c (Tue Jul 1 04:37:50 2008 +0200) 15 commits |
|
|
|
|
|
|
|
- [REJECT -- over-abuse of path-list] Build in merge |
|
|
|
|
|
|
|
+ Fix t7601-merge-pull-config.sh on AIX |
|
|
|
|
|
|
|
+ git-commit-tree: make it usable from other builtins |
|
|
|
|
|
|
|
+ Add new test case to ensure git-merge prepends the custom merge |
|
|
|
|
|
|
|
message |
|
|
|
|
|
|
|
+ Add new test case to ensure git-merge reduces octopus parents when |
|
|
|
|
|
|
|
possible |
|
|
|
|
|
|
|
+ Introduce reduce_heads() |
|
|
|
|
|
|
|
+ Introduce get_merge_bases_many() |
|
|
|
|
|
|
|
+ Add new test to ensure git-merge handles more than 25 refs. |
|
|
|
|
|
|
|
+ Introduce get_octopus_merge_bases() in commit.c |
|
|
|
|
|
|
|
+ git-fmt-merge-msg: make it usable from other builtins |
|
|
|
|
|
|
|
+ Move read_cache_unmerged() to read-cache.c |
|
|
|
|
|
|
|
+ Add new test to ensure git-merge handles pull.twohead and |
|
|
|
|
|
|
|
pull.octopus |
|
|
|
|
|
|
|
+ Move parse-options's skip_prefix() to git-compat-util.h |
|
|
|
|
|
|
|
+ Move commit_list_count() to commit.c |
|
|
|
|
|
|
|
+ Move split_cmdline() to alias.c |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The last one is still not quite there, I am afraid. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---------------------------------------------------------------- |
|
|
|
|
|
|
|
[Graduated to "master"] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* j6t/mingw (Sat Nov 17 20:48:14 2007 +0100) 38 commits |
|
|
|
Meant for 'maint' as well. |
|
|
|
+ compat/pread.c: Add a forward declaration to fix a warning |
|
|
|
|
|
|
|
+ Windows: Fix ntohl() related warnings about printf formatting |
|
|
|
|
|
|
|
+ Windows: TMP and TEMP environment variables specify a temporary |
|
|
|
|
|
|
|
directory. |
|
|
|
|
|
|
|
+ Windows: Make 'git help -a' work. |
|
|
|
|
|
|
|
+ Windows: Work around an oddity when a pipe with no reader is |
|
|
|
|
|
|
|
written to. |
|
|
|
|
|
|
|
+ Windows: Make the pager work. |
|
|
|
|
|
|
|
+ When installing, be prepared that template_dir may be relative. |
|
|
|
|
|
|
|
+ Windows: Use a relative default template_dir and ETC_GITCONFIG |
|
|
|
|
|
|
|
+ Windows: Compute the fallback for exec_path from the program |
|
|
|
|
|
|
|
invocation. |
|
|
|
|
|
|
|
+ Turn builtin_exec_path into a function. |
|
|
|
|
|
|
|
+ Windows: Use a customized struct stat that also has the st_blocks |
|
|
|
|
|
|
|
member. |
|
|
|
|
|
|
|
+ Windows: Add a custom implementation for utime(). |
|
|
|
|
|
|
|
+ Windows: Add a new lstat and fstat implementation based on Win32 |
|
|
|
|
|
|
|
API. |
|
|
|
|
|
|
|
+ Windows: Implement a custom spawnve(). |
|
|
|
|
|
|
|
+ Windows: Implement wrappers for gethostbyname(), socket(), and |
|
|
|
|
|
|
|
connect(). |
|
|
|
|
|
|
|
+ Windows: Work around incompatible sort and find. |
|
|
|
|
|
|
|
+ Windows: Implement asynchronous functions as threads. |
|
|
|
|
|
|
|
+ Windows: Disambiguate DOS style paths from SSH URLs. |
|
|
|
|
|
|
|
+ Windows: A rudimentary poll() emulation. |
|
|
|
|
|
|
|
+ Windows: Implement start_command(). |
|
|
|
|
|
|
|
+ Windows: A pipe() replacement whose ends are not inherited to |
|
|
|
|
|
|
|
children. |
|
|
|
|
|
|
|
+ Windows: Wrap execve so that shell scripts can be invoked. |
|
|
|
|
|
|
|
+ Windows: Implement setitimer() and sigaction(). |
|
|
|
|
|
|
|
+ Windows: Fix PRIuMAX definition. |
|
|
|
|
|
|
|
+ Windows: Implement gettimeofday(). |
|
|
|
|
|
|
|
+ Make my_mktime() public and rename it to tm_to_time_t() |
|
|
|
|
|
|
|
+ Windows: Work around misbehaved rename(). |
|
|
|
|
|
|
|
+ Windows: always chmod(, 0666) before unlink(). |
|
|
|
|
|
|
|
+ Windows: A minimal implemention of getpwuid(). |
|
|
|
|
|
|
|
+ Windows: Implement a wrapper of the open() function. |
|
|
|
|
|
|
|
+ Windows: Strip ".exe" from the program name. |
|
|
|
|
|
|
|
+ Windows: Handle absolute paths in |
|
|
|
|
|
|
|
safe_create_leading_directories(). |
|
|
|
|
|
|
|
+ Windows: Treat Windows style path names. |
|
|
|
|
|
|
|
+ setup.c: Prepare for Windows directory separators. |
|
|
|
|
|
|
|
+ Windows: Use the Windows style PATH separator ';'. |
|
|
|
|
|
|
|
+ Add target architecture MinGW. |
|
|
|
|
|
|
|
+ Compile some programs only conditionally. |
|
|
|
|
|
|
|
+ Add compat/regex.[ch] and compat/fnmatch.[ch]. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---------------------------------------------------------------- |
|
|
|
---------------------------------------------------------------- |
|
|
|
[On Hold] |
|
|
|
[On Hold] |
|
|
@ -264,6 +230,17 @@ hit due to tcl/tk's limitation, so I am holding this back for now. |
|
|
|
---------------------------------------------------------------- |
|
|
|
---------------------------------------------------------------- |
|
|
|
[Stalled/Needs more work] |
|
|
|
[Stalled/Needs more work] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* jc/grafts (Wed Jul 2 17:14:12 2008 -0700) 1 commit |
|
|
|
|
|
|
|
- [BROKEN wrt shallow clones] Ignore graft during object transfer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Cloning or fetching from a repository from grafts did not send objects |
|
|
|
|
|
|
|
that are hidden by grafts, but the commits in the resulting repository = |
|
|
|
|
|
|
|
do |
|
|
|
|
|
|
|
need these to pass fsck. This fixes object transfer to ignore grafts. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Another fix is needed to git-prune so that it ignores grafts but treats |
|
|
|
|
|
|
|
commits that are mentioned in grafts as reachable. |
|
|
|
|
|
|
|
|
|
|
|
* ph/parseopt-step-blame (Tue Jun 24 11:12:12 2008 +0200) 7 commits |
|
|
|
* ph/parseopt-step-blame (Tue Jun 24 11:12:12 2008 +0200) 7 commits |
|
|
|
- Migrate git-blame to parse-option partially. |
|
|
|
- Migrate git-blame to parse-option partially. |
|
|
|
+ parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option. |
|
|
|
+ parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option. |
|
|
@ -304,26 +281,3 @@ commit, which we should be able to separate out into an independent top= |
|
|
|
ic |
|
|
|
ic |
|
|
|
from the rest. |
|
|
|
from the rest. |
|
|
|
|
|
|
|
|
|
|
|
* jc/merge-theirs (Mon Jun 30 22:18:57 2008 -0700) 5 commits |
|
|
|
|
|
|
|
+ Make "subtree" part more orthogonal to the rest of merge- |
|
|
|
|
|
|
|
recursive. |
|
|
|
|
|
|
|
+ Teach git-pull to pass -X<option> to git-merge |
|
|
|
|
|
|
|
+ Teach git-merge to pass -X<option> to the backend strategy module |
|
|
|
|
|
|
|
+ git-merge-recursive-{ours,theirs} |
|
|
|
|
|
|
|
+ git-merge-file --ours, --theirs |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Punting a merge by discarding your own work in conflicting parts but st= |
|
|
|
|
|
|
|
ill |
|
|
|
|
|
|
|
salvaging the parts that are cleanly automerged. It is likely that thi= |
|
|
|
|
|
|
|
s |
|
|
|
|
|
|
|
will result in nonsense mishmash, but somehow often people want this, s= |
|
|
|
|
|
|
|
o |
|
|
|
|
|
|
|
here they are. The interface to the backends is updated so that you ca= |
|
|
|
|
|
|
|
n |
|
|
|
|
|
|
|
say "git merge -Xours -Xsubtree=3Dfoo/bar/baz -s recursive other" now. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The -X<option> part may change, Dscho mentions that a single-letter -X |
|
|
|
|
|
|
|
that take stuck option is against syntax rules, and I think he's right. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is more "because we can", not "because we need to". |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|