Hi Dale,
Le 28/06/2016 20:49, Dale Henrichs a écrit :
Thierry,
I think I tried the obvious:
1. open existing repository with gitfiletree://
2. reload all packages from gitfiletree repo and remove old filetree://
repo from each package
3. edit .filetree and add `"Metadata" : "false"`
but when I save a package I continue to get metadata created ...
With that sequence, I'm sure the gitfiletree repository in memory has
still kept the Metadata : true property, and so hasn't taken in account
the on-disk change. Like FileTree, it only loads the repository
properties on the very first access to that repository.
I even tried removing and adding the repo after editting the .filetree
file ....
And that didn't work ? I suspected it would... unless the gitfiletree
repository of step 1 above was not garbage collected.
I have a handful of additional random things that I will try, but I
think it is also time to find out the proper technique:)
I haven't provided an API for the switch, really. And I don't know where
to add that option inside the Monticello gui.
What I did, in the few cases I did it, was to inspect the in-image
MCFileTreeGitRepository and change the property in the inspector ;)
I want to gain experience with GitFileTree; test out the Metacello
Cypress mode; and perhaps honor the `"Metadata" : "false"` in the
GemStone version of FileTree ...
With a short time of usage, I would really like to be able to save all
of the packages in a project (including the BaselineOf) in one commit
... I often have multi-package units of work that really should be
committed together and of course if a method is moved across a package
boundary, the independent commits don't allow git to recognize the move
as a "rename" ...
We would need a specific API for that.
At the moment what would work is to save the baselineOf with all the
baseline packages as dependencies.
Now, I'd like to be able to query the baseline to know which packages it
describes, and save all of them in one go.
Another possibility would be to add an option with a no-commit flag
(write but do not commit, do not try to update the package version)
and add a button to the window appearing after each written package
version to do the commit, store temporarily all such "staged" packages
info in the repository object, and provide a warning if one tries to
resave a package before a commit...
Also I'm hoping that in metadataless mode I stop scanning the entire
known repository universe for package versions that will not be found
anywhere but in the repositories that I've explicitly associated with
the the package itself:)
I don't think it happens there. MCGitFileTreeVersionInfo already tracks
the repository it comes from, but I'm pretty sure that MC doesn't ask
the version info for the new data. Maybe add a new type of WorkingCopy
object?
Thierry
Thanks,
Dale