[Pharo-users] Iceberg - finding deleted classes, reverting versions?

Tim Mackinnon tim at testit.works
Wed Jun 27 20:31:34 EDT 2018


For the record - I get the same error using those steps on Ubuntu as well. So I must be doing something wrong?

(Note in my message when I pasted the command used - I neglected the git in front of: log --diff-filter=D --summary —pretty="format:%cd | %h | %H | %cn%n-> %s%n”)



Tim

> On 28 Jun 2018, at 00:46, Tim Mackinnon <tim at testit.works> wrote:
> 
> And just to add to this - I just did a git clone (git clone git at github.com <mailto:git at github.com>:pharo-project/pharo.git)  in a fresh directory and can see that same deleted file - and when I try to do a checkout, it gives the path spec error.
> 
> This is very weird - is it some osx thing? I will try it on ubuntu - but I feel I must be missing something, like do I need a different prefix on path names (but you didn’t seem to need one)?
> 
> I’d be very worried if git is acting up… but I still suspect user error here.
> 
> Tim
> 
> 
>> On 28 Jun 2018, at 00:38, Tim Mackinnon <tim at testit.works <mailto:tim at testit.works>> wrote:
>> 
>> Hey thanks Ben - this still doesn’t work for me… good idea to try on the Pharo repo itself.
>> 
>> I have a fork of it, which I catch up periodically - so I tried a similar suggestion to you - went into my directory (underneath the src folder) and typed:
>> 
>> log --diff-filter=D --summary --graph --pretty='format:%cd | %h | %H | %cn%n-> %s%n’
>> 
>> This gave me:
>> 
>> Tue Jun 19 19:28:37 2018 +0200 | 13e81343e | 13e81343e8a23a8d6ca43f1c77b804b8134fc986 | CyrilFerlicot
>> -> Remove now useless logs
>> 
>>  delete mode 100755 bootstrap/scripts/printFolderContent.sh
>> 
>> Mon Jun 18 16:50:19 2018 +0200 | 0433d908d | 0433d908de2987fa0069a47dee1f0794ccbb52c2 | GitHub
>> -> Revert "22161-Add-more-log-to-bootstrap"
>> 
>>  delete mode 100755 bootstrap/scripts/printFolderContent.sh
>> 
>> Thu Jun 14 11:41:16 2018 +0200 | b4a285a61 | b4a285a61d3eb0cc1e642b2fcc242dac7092617f | Marcus Denker
>> -> fix the last sender of #asIcon https://pharo.fogbugz.com/f/cases/22139/fix-the-last-sender-of-asIcon <https://pharo.fogbugz.com/f/cases/22139/fix-the-last-sender-of-asIcon>
>> 
>>  delete mode 100644 src/Polymorph-Widgets-Rules/IconShortcutRule.class.st <http://iconshortcutrule.class.st/>
>> 
>> So then I tried to recover that last one (again at root underneath the src directory)
>> 
>> git checkout b4a285a61 src/Polymorph-Widgets-Rules/IconShortcutRule.class.st <http://iconshortcutrule.class.st/>
>> error: pathspec 'src/Polymorph-Widgets-Rules/IconShortcutRule.class.st <http://iconshortcutrule.class.st/>' did not match any file(s) known to git.
>> 
>> And I still get that dreaded pathspec error. This is on OSX (not windows) - so I’m struggling to understand what I could be doing wrong. It must be something obvious - but damned if I can see how I’m doing anything different to you. And it wouldn’t make sense that git is broken on OSX?
>> 
>> Tim
>> 
>>> On 25 Jun 2018, at 14:21, Ben Coman <btc at openInWorld.com <mailto:btc at openInWorld.com>> wrote:
>>> 
>>> On 25 June 2018 at 19:41, Tim Mackinnon <tim at testit.works <mailto:tim at testit.works>> wrote:
>>> I’d be really interested if someone with lower level GIT knowledge might try a:
>>> 
>>> git checkout <gitid> src/<proj>/<class>.class.st <http://prismicblock.class.st/> 
>>> 
>>> For their project - as I don’t understand what I’m doing wrong - and I’d like the comfort of knowing that our source is in a place/state where we can rely on normal git tools in a case of emergency. At the moment, I’m a bit nervous that we are corrupting something .
>>> 
>>> Tim
>>> 
>>> I'm not sure if this is what you wanted, but I found a test case for for Pharo 7, a deleted class "MultiByteFileStreamTest.class.st <http://multibytefilestreamtest.class.st/>"
>>> https://github.com/pharo-project/pharo/pull/1031/files#diff-750a25fb99d29cda8c2c388dc18f6c1cL1 <https://github.com/pharo-project/pharo/pull/1031/files#diff-750a25fb99d29cda8c2c388dc18f6c1cL1>
>>> 
>>> From Windows 10 cmd.exe I tried the following (I can't remember which tool installed `git`)...
>>> 
>>> > mkdir C:\temp\test
>>> > cd C:\temp\test
>>> > git clone git at github.com <mailto:git at github.com>:pharo-project/pharo.git
>>> > cd pharo\src\Deprecated70
>>> > dir  Multi*
>>> no result
>>> > git checkout e74308e67d9f84 MultiByteFileStreamTest.class.st <http://multibytefilestreamtest.class.st/>
>>> > dir Multi*
>>> MultiByteFileStreamTest.class.st <http://multibytefilestreamtest.class.st/>
>>> 
>>> Then I compared the file I checked out to the raw file on github and they were identical...
>>> https://www.diffchecker.com/gVCpJzFe <https://www.diffchecker.com/gVCpJzFe>
>>> 
>>> 
>>> btw, I did get a momentary error "error: pathspec 'src/Deprecated70/MultiByteFileStreamTest.class.st <http://multibytefilestreamtest.class.st/>' did not match any file(s) known to git."
>>> when I incorrectly did...
>>> > cd pharo\src\Deprecated70
>>> > git  git checkout e74308e67d9f84  src/Deprecated70/MultiByteFileStreamTest.class.st <http://multibytefilestreamtest.class.st/>
>>> 
>>> 
>>> This worked with the longer path... 
>>> > cd pharo
>>> > git  git checkout e74308e67d9f84  src/Deprecated70/MultiByteFileStreamTest.class.st <http://multibytefilestreamtest.class.st/>
>>> cheers -ben
>> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-users_lists.pharo.org/attachments/20180628/280c2cc0/attachment-0001.html>


More information about the Pharo-users mailing list