[Vm-dev] build emergency with recent changes to updateSCCSVersions

Tobias Pape Das.Linux at gmx.de
Tue Jun 21 22:08:00 UTC 2016


On 22.06.2016, at 00:00, Eliot Miranda <eliot.miranda at gmail.com> wrote:

> Hi Tobias,
> 
> On Tue, Jun 21, 2016 at 2:54 PM, Tobias Pape <Das.Linux at gmx.de> wrote:
> 
> 
> On 21.06.2016, at 23:37, Eliot Miranda <eliot.miranda at gmail.com> wrote:
> 
> > Hi Tobias,
> >
> > On Tue, Jun 21, 2016 at 1:37 PM, Tobias Pape <Das.Linux at gmx.de> wrote:
> >
> > Hi Eliot,
> >
> > On 21.06.2016, at 22:08, Eliot Miranda <eliot.miranda at gmail.com> wrote:
> >
> > > Hi All,
> > >
> > >     recent changes, I *think* to updateSCCSVersions, have broken platforms/Cross/vm/sqSCCSVersion.h:
> > >
> > > static char SvnRawRepositoryURL[] = "$URL: http://github.com/OpenSmalltalk/vm
> > >     SetWindowLongPtr_64bit_compatibility new (next fetch will store in remotes/origin)
> > >     tim/deployment-fixes                 new (next fetch will store in remotes/origin) $";
> >
> > This is due to the line you added in .git_filters/RevDateURL.smudge:
> >
> >
> >  if (!$url) { $url=`git remote show origin | grep -i fetch | sed 's/^.*URL: //' 2>/dev/null` }
> >
> > Problem being, the two lines match 'fetch' (next _fetch_ will store in ...), so you get more than the actual URL.
> >
> > However, this has been fixed already, the current version from 24198c6
> > (see https://github.com/OpenSmalltalk/vm/commits/Cog/.git_filters/RevDateURL.smudge) has changed
> > and does not suffer from the grep. Relevant lines:
> >
> >
> > if ((defined $ENV{'TRAVIS'}) || (defined $ENV{'APPVEYOR'})) {
> >     $url=`git config --get remote.origin.url`;
> > } else {
> >     $url=`whoami` . '@' . `hostname` . ':' . `PWD=\$(pwd) echo \${PWD##\$HOME/}`;
> > }
> >
> > Thanks.  So it was me :-(.  Good to know.
> >
> > Is your repo up to date?
> >
> > How do I know?  This "fetch and then diff" method is IMO broken.  I simply want to know whether there are incoming commits /before/ I do a fetch.
> 
> Fetch means 'get what is on the server to me but no more'
> 
> I have a personal alias to see incoming changes:
> 
>         git config --global alias.incoming '!git remote update -p; git log ..@{u}'
> 
> I can then do `git incoming` and it fetches the changes but then only shows
> the changes. So, after a fetch you can do
> 
>         git log ..@{u}
> 
> which means 'please show me all changes from here to what upstream has'
> 
> Ah, this looks like it could be what I want.  So where should one put the git config command?  Run it once in one's .profile?  Add it to some configuration file?

here are my aliases

$ cat ~/.gitconfig
[alias]
    st = status
    co = checkout
    glog = log --graph --pretty=awesome --abbrev-commit --date=relative
    news = !git glog $(git log --author="\"$(git config user.name)\"" --pretty=format:%H -n1)..
    log-me = !UN=$(git config user.name)&& git log --author="\"$UN\"" --pretty=format:'%h %cd %s' --date=short
    log-nice  = log --graph --decorate --pretty=oneline --abbrev-commit
    panic     = !tar cvf ../git_panic.tar *
    wdiff = diff --color-words
    incoming = "!git remote update -p; git log ..@{u}"
    outgoing = log @{u}..
    ap = add --patch
    up = "!git remote update -p; git merge --ff-only @{u}"

Explanations:
st,co		from my svn days
glog		nice, concise log with graph
news		graph log with changes by other people
log-me		changes by me
log-nice	like glog, but different (not very interessting)
panic		put away everything i have into a tar
wdiff		Thats a nice one: like diff, but per-word not per-line
incoming	explained above
outgoing	which commits will be pushed when I say git push?
ap		I found myself saying 'git add --patch' so often I needed this. It's always worth a try
up		Similar to pull, but will only update when no merge is necessary


Most of them are personal taste and convenience but I thought they can be an inspiration.

Best
	-Tobias


>  
> HTH
> best
>         -Tobias
> 
> > Best regards
> >         -Tobias
> >
> > >
> > > First, multi-liner string constants must be terminated with a backslash to compile.  So at the very least we'd need
> > >
> > > static char SvnRawRepositoryURL[] = "$URL: http://github.com/OpenSmalltalk/vm\
> > >     SetWindowLongPtr_64bit_compatibility new (next fetch will store in remotes/origin)\
> > >     tim/deployment-fixes                 new (next fetch will store in remotes/origin) $";
> > >
> > > But second, multi-line output doesn't make sense here.  We need something that fits on a single line.  Who is going to fix this?  I have a production build which is broken because of this.
> > >
> > > _,,,^..^,,,_
> > > best, Eliot





More information about the Vm-dev mailing list