Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Iceberg checkout shows incorrect list of changes #5383

Open
akgrant43 opened this issue Dec 16, 2019 · 2 comments
Open

Iceberg checkout shows incorrect list of changes #5383

akgrant43 opened this issue Dec 16, 2019 · 2 comments
Assignees

Comments

@akgrant43
Copy link
Collaborator

Iceberg under some (unknown) conditions will incorrectly construct the list of changes to the system.

Currently this happens when attempting to checkout the v1.5.8 tag of libgit2-pharo-bindings.

To reproduce:

  1. Add the repository in Iceberg (pharo-vcs/libgit2-pharo-bindings)
  2. Inspect the Repository
  3. Checkout the v1.5.8 tag

The preview will look something like the image posted in #development on Discord on Thursday 12 December 2019 (uploading images to github is failing).

Since this is the correct code, the expected result is that the changes list is empty.

A workaround is:

  1. Save the image and exit (so that the repository is defined in iceberg, and it is still on the master branch).
    2.:
cd `pharo-local/iceberg/pharo-vcs/libgit2-pharo-bindings/`
git checkout v1.5.8
git checkout -b libgit
cd -
  1. Start pharo again and open Iceberg. At this point the repository will be in 'Detached Working Copy' status.
  2. Select Repair repository, Discard image changes....
  3. Ignore the additions in LibGit-Tests, press Checkout.

At this point the repository will be Up to date.

The issue looks like Iceberg is not recognising that the packages are present / absent.

In the initial load, Iceberg appears to think that LibGit-Core has been removed, when it is actually present. In the repair, Iceberg thinks that it will be loading LibGit-Tests, when it won't be.

OS: Ubuntu 18.04

Image

/dev/shm/p8/Pharo.image
Pharo8.0.0
Build information: Pharo-8.0.0+build.1076.sha.f49ba4e3f44e0e6c56bfcaeaf38628b32e3a2504 (64 Bit)
Unnamed

Virtual Machine

/dev/shm/p8/pharo-vm/lib/pharo
CoInterpreterWithQueueFFI * VMMaker-CompatibleUserName.1576136511 uuid: 7fe4520d-ff42-5b35-8fb7-af4cf07830a5 Dec 12 2019
StackToRegisterMappingCogit * VMMaker-CompatibleUserName.1576136511 uuid: 7fe4520d-ff42-5b35-8fb7-af4cf07830a5 Dec 12 2019
3ae44dc - Commit: 3ae44dc - Date: 2019-12-12 08:41:51 +0100

@akgrant43
Copy link
Collaborator Author

akgrant43 commented Jan 24, 2020

Pablo showed his workaround in his techtalk at: https://www.youtube.com/watch?v=-jenQJp5m2U about half way through (the third commit).

The basic sequence is:

  1. Add the repository in Iceberg
  2. Open the checkout dialog from the correct tag / branch (from the Repository window)
  3. IMPORTANT: In the How to checkout: drop-down select DO NOT CHECKOUT any packages....

This will leave the Status in Detached HEAD. The repository can then be repaired and a new branch created from the image commit.

YouTube

@Ducasse
Copy link
Member

Ducasse commented Apr 18, 2020

Guille I added you so that you see this issue. May be we should move it to iceberg.

@Ducasse Ducasse added this to To do in GIT Support (Iceberg) via automation Apr 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

No branches or pull requests

3 participants