<div dir="ltr">Thanks, this is great.  I think I prefer the prompt that Jed gave me:<div><br></div><div><div>PS1="\A$bold$magenta\$(ret=\$?; [ \$ret -ne 0 ] && echo -n \" \$ret\")$nbold $blue\$(__git_ps1 '%s') $green\w$normal\\$ "</div></div><div><br></div><div>But the <span style="font-size:12.8000001907349px">GIT_PS1_SHOW... stuff just adds a char to the branch name that is pretty nice. </span></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jun 1, 2015 at 1:46 PM, Satish Balay <span dir="ltr"><<a href="mailto:balay@mcs.anl.gov" target="_blank">balay@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Mon, 1 Jun 2015, Mark Adams wrote:<br>
<br>
> ><br>
> ><br>
</span><div><div class="h5">> > Also 'git-prompt.sh' helps in tracking changes to any giving 'branch'<br>
> > wrt 'origin/branch'.. [assuming you do a 'git fetch' to sync changes<br>
> > from remote repo]<br>
> ><br>
> ><br>
> I use (a) git-prompt.sh.  It shows the branch in the prompt.  How does it<br>
> help? Does it do the .. stuff?<br>
<br>
</div></div>I use:<br>
<br>
export GIT_PS1_SHOWDIRTYSTATE=1<br>
export GIT_PS1_SHOWUPSTREAM="auto"<br>
export PS1='\[\e[32m\]\u@\h \[\e[36m\]${PWD}\[\e[1m\]\[\e[35m\]$(__git_ps1 " (%s)")\[\e[0m\]\n\$ '<br>
<br>
And I see something like the following in addition to the branch name.<br>
<br>
balay@asterix /home/balay/petsc (master=)<br>
<br>
Here - the status flag currently is '='. The usual values are:<br>
'=' => both branches origin/master, master are in sync<br>
'<' => there are new remote changes that I should pull<br>
'>' => there are localchages that I should push.<br>
<br>
And there are other status flags that get displayed based on local<br>
edits, stuff added to index etc..<br>
<br>
For eg:<br>
<br>
balay@asterix /home/balay/petsc (master=)<br>
$ echo 'x' >> makefile<br>
balay@asterix /home/balay/petsc (master *=)<br>
$ git add makefile<br>
balay@asterix /home/balay/petsc (master +=)<br>
$ git commit -m 'test commit'<br>
[master 7672695] test commit<br>
<span class=""> 1 file changed, 1 insertion(+)<br>
</span>balay@asterix /home/balay/petsc (master>)<br>
$ git reset --hard origin/master<br>
HEAD is now at e06cc25 Custom Fortran stub pcfieldsplitgetsubksp_() did not free array containing the KSPs<br>
balay@asterix /home/balay/petsc (master=)<br>
$<br>
<br>
So one can potentially keep track of how the changes on the branch are<br>
evolving - and not be *suprised* by the final state you are at. [which<br>
can be checked with 'git log origin/master..master' command].<br>
<br>
One can always reset the branch - pickup relavent stuff from abandoned<br>
branches etc.<br>
<span class="HOEnZb"><font color="#888888"><br>
Satish<br>
<br>
</font></span></blockquote></div><br></div>