On Tue, May 13, 2014 at 10:31:04PM +0200, Per Cederqvist wrote:
> When the option is true (the default), Guilt does not create a new Git
> branch when patches are applied. This way, you can switch between
> Guilt 0.35 and the current version of Guilt with no issues.
>
> At a future time, maybe a year after Guilt with guilt.reusebranch
> support is released, the default should be changed to "false" to take
> advantage of the ability to use a separate Git branch when patches are
> applied.
>
> Signed-off-by: Per Cederqvist <[email protected]>
> ---
> guilt | 28 +++-
> regression/scaffold | 1 +
> regression/t-062.out | 441
> +++++++++++++++++++++++++++++++++++++++++++++++++++
> regression/t-062.sh | 137 ++++++++++++++++
> 4 files changed, 601 insertions(+), 6 deletions(-)
> create mode 100644 regression/t-062.out
> create mode 100755 regression/t-062.sh
...
> diff --git a/guilt b/guilt
> index 9947acc..7c830eb 100755
> --- a/guilt
> +++ b/guilt
...
> @@ -928,13 +935,22 @@ else
> die "Unsupported operating system: $UNAME_S"
> fi
>
> -if [ "$branch" = "$raw_git_branch" ] && [ -n "`get_top 2>/dev/null`" ]
> -then
> - # This is for compat with old repositories that still have a
> - # pushed patch without the new-style branch prefix.
> - old_style_prefix=true
> +if [ -n "`get_top 2>/dev/null`" ]; then
> + # If there is at least one pushed patch, we set
> + # old_style_prefix according to how it was pushed. It is only
> + # possible to change the prefix style while no patches are
> + # applied.
> + if [ "$branch" = "$raw_git_branch" ]; then
> + old_style_prefix=true
> + else
> + old_style_prefix=false
> + fi
> else
> - old_style_prefix=false
> + if $reuse_branch; then
> + old_style_prefix=true
> + else
> + old_style_prefix=false
> + fi
I don't know if this is a good idea or not, but:
old_style_prefix="$reuse_branch"
> fi
>
> _main "$@"
> diff --git a/regression/scaffold b/regression/scaffold
> index e4d7487..e4d2f35 100644
> --- a/regression/scaffold
> +++ b/regression/scaffold
> @@ -93,6 +93,7 @@ function setup_git_repo
> git config log.date default
> git config log.decorate no
> git config guilt.diffstat false
> + git config guilt.reusebranch false
> }
>
> function setup_guilt_repo
...
> diff --git a/regression/t-062.sh b/regression/t-062.sh
> new file mode 100755
> index 0000000..85596ca
> --- /dev/null
> +++ b/regression/t-062.sh
> @@ -0,0 +1,137 @@
...
> +function fixup_time_info
> +{
> + touch -a -m -t "$TOUCH_DATE" ".git/patches/master/$1"
> +}
> +
> +cmd setup_repo
> +
> +cmd git config guilt.reusebranch true
> +
> +cmd guilt push -a
> +cmd list_files
> +cmd git for-each-ref
> +
> +cmd git for-each-ref
> +
> +cmd list_files
duplicate list_files & for-each-ref
> +
> +for i in `seq 5`; do
> + if [ $i -ge 5 ]; then
> + shouldfail guilt pop
> + else
> + cmd guilt pop
> + fi
> + cmd git for-each-ref
> + cmd guilt push
> + cmd git for-each-ref
> + cmd guilt pop
> + cmd git for-each-ref
> +done
> +
> +# Check that "pop -a" does the right thing.
What exactly is the right thing? no-op since the above loop poped
everything? (I'd make the comment say what the "right thing" is.)
Jeff.
--
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like
that.
- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html