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

[TopGit PATCH 1/6] Let tg-update take a branch parameter

From
Bert Wesarg <bert.wesarg@googlemail.com>
Date
Oct 3, 2010, 21:25 UTC
Message-ID
<1286141157-30422-1-git-send-email-bert.wesarg@googlemail.com>
In-Reply-To
<AANLkTim3gnU+_krD2QM0BAMf9DZi2_4hva6dq4WXcatH@mail.gmail.com>
Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
---
 README                     |    6 ++++--
 contrib/tg-completion.bash |    7 ++++++-
 tg-update.sh               |   18 ++++++++++++------
 3 files changed, 22 insertions(+), 9 deletions(-)
diff --git a/README b/README
index c418ff4..dba2345 100644 README
--- a/README
+++ b/README
@@ -472,13 +472,15 @@ tg import
 
 tg update
 ~~~~~~~~~
-	Update the current topic branch wrt. changes in the branches
-	it depends on and remote branches.
+	Update the current or specified topic branch wrt. changes in the
+	branches it depends on and remote branches.
 	This is performed in two phases - first,
 	changes within the dependencies are merged to the base,
 	then the base is merged into the topic branch.
 	The output will guide you in case of conflicts.
 
+	After the update the current branch is the specified one.
+
 	In case your dependencies are not up-to-date, tg update
 	will first recurse into them and update these.
 
diff --git a/contrib/tg-completion.bash b/contrib/tg-completion.bash
index 0ee233c..5aabc92 100755 contrib/tg-completion.bash
--- a/contrib/tg-completion.bash
+++ b/contrib/tg-completion.bash
@@ -423,7 +423,12 @@ _tg_summary ()
 
 _tg_update ()
 {
-	COMPREPLY=()
+	local cur="${COMP_WORDS[COMP_CWORD]}"
+
+	case "$cur" in
+	*)
+		__tgcomp "$(__tg_topics)"
+	esac
 }
 
 ### }}}
diff --git a/tg-update.sh b/tg-update.sh
index 73280c6..b256c7c 100644 tg-update.sh
--- a/tg-update.sh
+++ b/tg-update.sh
@@ -8,13 +8,19 @@ name=
 
 ## Parse options
 
-if [ -n "$1" ]; then
-	echo "Usage: tg [...] update" >&2
-	exit 1
-fi
-
-
-name="$(git symbolic-ref HEAD | sed 's#^refs/\(heads\|top-bases\)/##')"
+while [ -n "$1" ]; do
+	arg="$1"; shift
+	case "$arg" in
+	-*)
+		echo "Usage: tg [...] update [NAME]" >&2
+		exit 1;;
+	*)
+		[ -z "$name" ] || die "name already specified ($name)"
+		name="$arg";;
+	esac
+done
+
+[ -n "$name" ] || name="$(git symbolic-ref HEAD | sed 's#^refs/\(heads\|top-bases\)/##')"
 base_rev="$(git rev-parse --short --verify "refs/top-bases/$name" 2>/dev/null)" ||
 	die "not a TopGit-controlled branch"
 
-- 
tg: (29ab4cf..) bw/update-does-checkout (depends on: master)
Previous: Bert WesargNext: Bert Wesarg
Message 3 of 39 in “planning a new topgit release”
  1. Uwe Kleine-KönigOct 3, 2010
  2. Bert WesargOct 3, 2010
  3. 1/6 Let tg-update take a branch parameterBert Wesarg, Oct 3, 2010
  4. 2/6 tg-remote: use default remote if non is givenBert Wesarg, Oct 3, 2010
  5. 3/6 tg-files: list files changed by the topic branchBert Wesarg, Oct 3, 2010
  6. 4/6 tg-prev/tg-next: commands to explore dependenciesBert Wesarg, Oct 3, 2010
  7. 5/6 put die() messages to stderrBert Wesarg, Oct 3, 2010
  8. 6/6 tg-log: short cut to git logBert Wesarg, Oct 3, 2010
  9. Uwe Kleine-KönigOct 3, 2010
  10. Bert WesargOct 4, 2010
  11. Uwe Kleine-KönigOct 3, 2010
  12. Bert WesargOct 4, 2010
  13. Uwe Kleine-KönigOct 4, 2010
  14. Bert WesargOct 4, 2010
  15. Uwe Kleine-KönigOct 4, 2010
  16. tg-files: list files changed by the topic branchBert Wesarg, Oct 4, 2010
  17. Uwe Kleine-KönigOct 4, 2010
  18. Bert WesargOct 4, 2010
  19. tg-files: list files changed by the topic branchBert Wesarg, Oct 4, 2010
  20. tg-patch: use pretty_treeBert Wesarg, Oct 4, 2010
  21. Bert WesargOct 4, 2010
  22. Uwe Kleine-KönigOct 5, 2010
  23. Bert WesargOct 5, 2010
  24. tg-patch: use pretty_treeBert Wesarg, Oct 5, 2010
  25. Uwe Kleine-KönigOct 5, 2010
  26. Bert WesargOct 5, 2010
  27. Uwe Kleine-KönigOct 5, 2010
  28. tg-files: list files changed by the topic branchBert Wesarg, Oct 5, 2010
  29. Štěpán NěmecOct 5, 2010
  30. Bert WesargOct 6, 2010
  31. Uwe Kleine-KönigOct 3, 2010
  32. Ævar Arnfjörð BjarmasonOct 4, 2010
  33. Uwe Kleine-KönigOct 4, 2010
  34. Uwe Kleine-KönigOct 3, 2010
  35. Bert WesargOct 4, 2010
  36. tg-log: move note from tg base to tg logBert Wesarg, Oct 4, 2010
  37. Štěpán NěmecOct 4, 2010
  38. Bert WesargOct 4, 2010
  39. Uwe Kleine-KönigOct 4, 2010

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.