Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-15

Re: [PATCH] Warnings before rebasing -i published history

From: <hidden>
Date: 2016-06-15 22:54:00

Junio C Hamano [off-list ref] a écrit :
quoted
+	do
+		test -n "$sha1" || break
+		if test -n "$(git branch -r --contains "$sha1")"
+		then
+			printf "%s\n" "$(sed -e "/"$sha1"/ s|$| [Published]|" "$1")" >"$1"
+		fi
+	done
What's inside $() looks like it wants to say something like

	sed -e "/ $sha1 /s/$/ [Published]/" "$1"

but it has a few fishy double-quotes that makes it unclear why $sha1
wants to be outside the quotes.

Why does it need 'printf "%s" $()' in the first place?  Wouldn't

	sed ... >"$1"
sufficient?
The fact is that the input of sed is "$1" itself. An redirecting the output
of sed to the same input doesn't seem to work.
The logic is merely _guessing_ that the commit could have been
published, no?  The particular remote repository the test happens to
find may not be for consumption by other people.

I am afraid that doing this would send users a wrong message that is
unnecessarily alarming, especially the marker says "Published" as if
it were a confirmed fact.
True. It would be annoying for people that rewrite consciously published
history. From this point of view, a better idea would be to show the
remote branch name, as Matthieu suggested, so that the user could know
which branch is involved.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help