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

Das.Linux at gmx.de Das.Linux at gmx.de
Tue Jun 21 22:00:42 UTC 2016


On 21.06.2016, at 23:54, 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'
> 
> HTH
> best
> 	-Tobias
> 

PS: git log accepts the --patch option, which adds a diff to all commit messages.
so you can also do

	git log ..@{u} --patch

or with the alias:

	git incoming --patch

> 
> 
>> 
>> 
>> 
>> 
>> 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