Re: [PATCH 1/2] pull: respect rebase.autostash

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Matthieu Moy <Matthieu.Moy@xxxxxxxxxxxxxxx> writes:

> Ramkumar Ramachandra <artagnon@xxxxxxxxx> writes:
>
>> --- a/git-pull.sh
>> +++ b/git-pull.sh
>> @@ -44,6 +44,7 @@ merge_args= edit=
>>  curr_branch=$(git symbolic-ref -q HEAD)
>>  curr_branch_short="${curr_branch#refs/heads/}"
>>  rebase=$(git config --bool branch.$curr_branch_short.rebase)
>> +autostash=$(git config --bool rebase.autostash)
>>  if test -z "$rebase"
>>  then
>>  	rebase=$(git config --bool pull.rebase)
>> @@ -203,6 +204,7 @@ test true = "$rebase" && {
>>  			die "$(gettext "updating an unborn branch with changes added to the index")"
>>  		fi
>>  	else
>> +		test true = "$autostash" ||
>>  		require_clean_work_tree "pull with rebase" "Please commit or stash them."
>
> Trivial, indeed!
>
> It would be nice to have an --autostash command-line option too, and the
> error message in "require_clean_work_tree" could suggest using it. That
> would make the feature easily discoverable.

I would actually suggest doing this the other way around.  --autostash
option, followed by configuration if needed.

I actually have this slight suspicion that rebase.autostash and
pull.autostash may want to be separate variables.  Attempting to
rebase locally when your working tree is in half-baked state is bad
enough but may be warranted in some workflows, but doing so when
integrating with other people's work is a practice in a different
league. It would be quite sensible for somebody to want to allow the
former (i.e. allows autostash with rebase.autostash=true for local
rebase) while retaining the safety of the latter (i.e. stop pulling
with pull.autostash=false).

> Perhaps this patch could mention "pull --rebase" in the doc, like (config.txt)
>
> - 	ends.  This means that you can run rebase on a dirty worktree.
> + 	ends.  This means that you can run rebase or `git pull --rebase` on a dirty worktree.
>
> (or perhaps it's obvious enough and not needed)
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]