threads / patch / 16405

patchUse the topological order when exporting explicitly listed branches.

Subject: [TopGit PATCH] Use the topological order when exporting explicitly listed branches.

## tl;dr

3 messages between Nov 20, 2008 and Nov 20, 2008. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

martin f. krafft· Nov 20, 2008, 09:38 UTC · lore
From: Niko Tyni <ntyni@debian.org>

When exporting explicitly listed branches (tg export -b), the branch dependencies were not taken into account.

Signed-off-by: martin f. krafft <madduck@debian.org>
Tested-by: martin f. krafft <madduck@debian.org>
---
Arguably, lines 178:189 need to be refactored due to the code duplication, but
the patch does what it should for now.
 tg-export.sh |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)
Show changes to tg-export.sh +3 −3
diff --git a/tg-export.sh b/tg-export.sh
index 52af88d..037b991 100644
--- a/tg-export.sh
+++ b/tg-export.sh
@@ -181,9 +181,9 @@ if [ -z "$branches" ]; then
 	recurse_deps driver "$name"
 	(_ret=0; _dep="$name"; _name=""; _dep_is_tgish=1; driver)
 else
-	echo "$branches" | tr ',' '\n' | while read _dep; do
-		_dep_is_tgish=1
-		$driver
+	echo "$branches" | tr ',' '\n' | while read name; do
+		recurse_deps driver "$name"
+		(_ret=0; _dep="$name"; _name=""; _dep_is_tgish=1; driver)
 	done
 	name="$(echo "$branches" | sed 's/.*,//')"
 fi
-- 
1.5.6.5
Petr Baudis· Nov 20, 2008, 10:20 UTC · re: martin f. krafft · lore

Re: [TopGit PATCH] Use the topological order when exporting explicitly listed branches.

On Thu, Nov 20, 2008 at 10:38:22AM +0100, martin f. krafft wrote:
Show 10 quoted lines
> From: Niko Tyni <ntyni@debian.org>
> 
> When exporting explicitly listed branches (tg export -b), the branch
> dependencies were not taken into account.
> 
> Signed-off-by: martin f. krafft <madduck@debian.org>
> Tested-by: martin f. krafft <madduck@debian.org>
> ---
> Arguably, lines 178:189 need to be refactored due to the code duplication, but
> the patch does what it should for now.

The point of -b is to export only the specified branches, assuming you already exported the dependencies before. If you just want to export a branch with all its dependencies, why not just switch to it and call plain tg export?

-- 
				Petr "Pasky" Baudis
People who take cold baths never have rheumatism, but they have
cold baths.
martin f krafft· Nov 20, 2008, 10:54 UTC · re: Petr Baudis · lore

Re: [TopGit PATCH] Use the topological order when exporting explicitly listed branches.

also sprach Petr Baudis <pasky@suse.cz> [2008.11.20.1120 +0100]:
> The point of -b is to export only the specified branches, assuming you
> already exported the dependencies before. If you just want to export a
> branch with all its dependencies, why not just switch to it and call
> plain tg export?

Ah, I see. I think then I probably failed to communicate what I had in mind with -b, which was mainly to avoid use of a temporary branch where to collapse all commits before creating a series.

I don't see the point of being able to export patches into a quilt series without their dependencies. If needed, one could use tg-patch for that. The only difference between tg-export -b and tg-patch is that the former can do multiple patches in one go, and it writes a series file. Since that series is not guaranteed to be applicable, I think one could just not bother.

Thinking about it a bit more, I think tg-export should be modified such that it can always take -b/--branches, which defaults to the current branch. No matter what the driver, it always prepends the dependencies to the list. Then, the list is passed to the export driver. 'collapse' creates a branch as it does right now, and 'quilt' creates a series as it does right now.

I have most of this implemented in a branch which I'll gladly publish as soon as I figured out some remaining corner cases.

-- 
 .''`.   martin f. krafft <madduck@debian.org>
: :'  :  proud Debian developer, author, administrator, and user
`. `'`   http://people.debian.org/~madduck - http://debiansystem.info
  `-  Debian - when you have better things to do than fixing systems
 
"zum christentum wird man nicht geboren,
 man muß dazu nur krank genug sein."
                                                 - friedrich nietzsche

← back to recent threads