# [PATCH] README: Sketch out what tg rename OLD NEW would do.

3 messages from 2010-02-27 to 2010-02-28. Participants: Thomas Schwinge, Uwe Kleine-König.
Thread: https://gitlist.dev/t/22851

## Thomas Schwinge, 2010-02-27 22:39

Subject: [PATCH] README: Sketch out what tg rename OLD NEW would do.
Message-ID: <1267310389-11984-1-git-send-email-thomas@schwinge.name>
URL: https://gitlist.dev/e/1267310389-11984-1-git-send-email-thomas%40schwinge.name

```
... as proposed by me and acknowledged by David Bremner and Uwe Kleine-König on
2010-01-27 in #topgit (freenode).
---
 README |   17 ++++++++++++++++-
 1 files changed, 16 insertions(+), 1 deletions(-)

diff --git a/README b/README
index 495c70b..eab6fcd 100644
--- a/README
+++ b/README
@@ -486,7 +486,22 @@ tg push
 	repository.  By default the remote gets all dependencies
 	(both tgish and non-tgish) and bases pushed to.
 
-TODO: tg rename
+tg rename
+~~~~~~~~~
+	There is no such command yet, but here's a receipe what ``tg rename OLD
+	NEW'' would do:
+
+	  - Have a clean state before beginning.
+	  - git banch -r OLD NEW
+	  - git update-ref refs/top-bases/NEW refs/top-bases/OLD ''
+	  - for BRANCH in (all branches that depend on OLD,
+			   i.e. reference OLD in .topdeps); do
+	      git checkout BRANCH
+	      sed -i 's%^OLD$%NEW$' .topdeps
+	      git commit -m 'OLD -> NEW' .topdeps
+	    done
+	  - tg summary
+	  - tg update as appropriate
 
 
 IMPLEMENTATION
-- 
1.6.0.4

```

## Uwe Kleine-König, 2010-02-28 10:13

Subject: Re: [PATCH] README: Sketch out what tg rename OLD NEW would do.
Message-ID: <20100228101320.GA13987@pengutronix.de>
URL: https://gitlist.dev/e/20100228101320.GA13987%40pengutronix.de
In-Reply-To: <1267310389-11984-1-git-send-email-thomas@schwinge.name>

```
Hello Thomas,

On Sat, Feb 27, 2010 at 11:39:49PM +0100, Thomas Schwinge wrote:
> ... as proposed by me and acknowledged by David Bremner and Uwe Kleine-König on
> 2010-01-27 in #topgit (freenode).
> ---
>  README |   17 ++++++++++++++++-
>  1 files changed, 16 insertions(+), 1 deletions(-)
> 
> diff --git a/README b/README
> index 495c70b..eab6fcd 100644
> --- a/README
> +++ b/README
> @@ -486,7 +486,22 @@ tg push
>  	repository.  By default the remote gets all dependencies
>  	(both tgish and non-tgish) and bases pushed to.
>  
> -TODO: tg rename
> +tg rename
> +~~~~~~~~~
> +	There is no such command yet, but here's a receipe what ``tg rename OLD
> +	NEW'' would do:
> +
> +	  - Have a clean state before beginning.
- assert NEW doesn't already exist?
> +	  - git banch -r OLD NEW
s/banch/branch/

> +	  - git update-ref refs/top-bases/NEW refs/top-bases/OLD ''
> +	  - for BRANCH in (all branches that depend on OLD,
> +			   i.e. reference OLD in .topdeps); do
> +	      git checkout BRANCH
> +	      sed -i 's%^OLD$%NEW$' .topdeps
> +	      git commit -m 'OLD -> NEW' .topdeps
> +	    done
> +	  - tg summary
> +	  - tg update as appropriate
>  
>  
>  IMPLEMENTATION
Otherwise looks OK

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

```

## Thomas Schwinge, 2010-02-28 13:28

Subject: [PATCH] README: Sketch out what tg rename OLD NEW would do.
Message-ID: <1267363718-27990-1-git-send-email-thomas@schwinge.name>
URL: https://gitlist.dev/e/1267363718-27990-1-git-send-email-thomas%40schwinge.name
In-Reply-To: <20100228101320.GA13987@pengutronix.de>

```
... as proposed by me and acknowledged by David Bremner and Uwe Kleine-König on
2010-01-27 in #topgit (freenode).

Signed-off-by: Thomas Schwinge <thomas@schwinge.name>

---
 README |   18 +++++++++++++++++-
 1 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/README b/README
index 495c70b..a0c1bfa 100644
--- a/README
+++ b/README
@@ -486,7 +486,23 @@ tg push
 	repository.  By default the remote gets all dependencies
 	(both tgish and non-tgish) and bases pushed to.
 
-TODO: tg rename
+tg rename
+~~~~~~~~~
+	There is no such command yet, but here's a receipe what ``tg rename OLD
+	NEW'' would do:
+
+	  - Have a clean state before beginning.
+	  - Assert NEW doesn't already exist.
+	  - git branch -m OLD NEW
+	  - git update-ref refs/top-bases/NEW refs/top-bases/OLD ''
+	  - for BRANCH in (all branches that depend on OLD,
+			   i.e. reference OLD in .topdeps); do
+	      git checkout BRANCH
+	      sed -i 's%^OLD$%NEW$' .topdeps
+	      git commit -m 'OLD -> NEW' .topdeps
+	    done
+	  - tg summary
+	  - tg update as appropriate
 
 
 IMPLEMENTATION
-- 
tg: (341a371..) t/tg_rename (depends on: master)

```
