git/list[1] front-page[2] threads[3] people[4] search[5] about
 

TOPGIT: [PATCH] tg create: add --force option to resolve merge dependencies.

From
JNJan Nieuwenhuizen <janneke-list@xs4all.nl>
Date
Aug 12, 2008, 13:01 UTC
Message-ID
<1218546106.7264.11.camel@heerbeest>

I have been trying to adapt my ooo-build export to topgit instead of plain git and ran into the (documented and expected) merge conflicts in .top*.

After unsuccesfully trying to script around it in my gob git-export script, I found that this simple tg-create.sh seems to work for me: just remove any <<<,===,>>> from .topdeps and simply generate the new .topmgs later.

What do you think? Is this naive way of 'auto' resolving dependency problems doing the right thing?

BTW: thanks for creating topgit, it looks like just what
     I was missing.
-- janneke
Signed-off-by: Jan Nieuwenhuizen <janneke@gnu.org>
---
 tg-create.sh |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/tg-create.sh b/tg-create.sh
index 6cce7ed..0c83460 100644
--- a/tg-create.sh
+++ b/tg-create.sh
@@ -14,6 +14,8 @@ name=
 while [ -n "$1" ]; do
 	arg="$1"; shift
 	case "$arg" in
+	--force)
+		force=1;;
 	-*)
 		echo "Usage: tg create NAME [DEPS...]" >&2
 		exit 1;;
@@ -82,6 +84,11 @@ while [ -n "$merge" ]; do
 	info "Merging $name base with $branch..."
 
 	if ! git merge "$branch"; then
+	    if test "$force" = "1"; then
+                mv .topdeps .topdeps~ && grep -Ev '(<|>|=){7}' .topdeps~ > .topdeps && rm .topdeps~
+                git add .topdeps .topmsg
+                git commit -am 'Auto-resolve topgit .top* merge failure.'
+	    else
 		info "Please commit merge resolution and call: tg create"
 		info "It is also safe to abort this operation using \`git reset --hard\`"
 		info "but please remember you are on the base branch now;"
@@ -89,6 +96,7 @@ while [ -n "$merge" ]; do
 		echo "$deps" >"$git_dir/top-deps"
 		echo "$merge" >"$git_dir/top-merge"
 		exit 2
+	    fi
 	fi
 done
 
-- 
1.6.0.rc0.44.g67270


-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond - The music typesetter
http://www.xs4all.nl/~jantien       | http://www.lilypond.org
Next: Petr Baudis
Message 1 of 4 in “TOPGIT: [PATCH] tg create: add --force option to resolve merge dependencies.”
  1. Jan NieuwenhuizenAug 12, 2008
  2. Petr BaudisAug 12, 2008
  3. Jan NieuwenhuizenAug 12, 2008
  4. Bert WesargAug 12, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.