Jump to content
Sign in to follow this  
Misieq

Nodata replication

Recommended Posts

I have just noticed that there is new feature added - nodata replication.

I'd like to ask several questions about it:

1) Does feature require both server and client to be updated to latest version?
2) In ReleaseNotes you mentioned that update of workspace will cause data download - what pieces will be downloaded?
3) Is there support in GUI for nodata and hydrate command?
4) Does hydrate of last changeset of main branch allow to work further in local repo (creation of new branches, commits, workspace access)?
5) Does it mean that only data for latests revisions of each object be downloaded to local repo?
6) What will be the result of pushing back branch of which last changeset was hydrated to local repo and in local repo new changesets from tasks branches were added?
7) What will happen if I try to merge my task branch to main branch which was replicated without data and there are conficts detected?

Probably new questions will arrive soon :)

It would be great to have some blog post from your side with detailed explanation and different scenarios described

Thanks in advance.

 

 

Share this post


Link to post
Share on other sites

Hi,

I'm about to write a blog post about this to better explain it. Meanwhile:

1) Does feature require both server and client to be updated to latest version? - YES. It requires a new API call to resolve objects in block. Otherwise it would be terribly slow.
2) In ReleaseNotes you mentioned that update of workspace will cause data download - what pieces will be downloaded? - The ones that you don't have in your local repo. I mean, suppose you replicate a repo with --nodata. You won't have any data. Now you switch to a branch, all files will be taken from the original repo.
3) Is there support in GUI for nodata and hydrate command? - Nodata will be there soon in pull. We didn't add a GUI for hydrate yet, and it is not yet planned. Not sure how high prio it is, I mean, it is a quite advanced feature.
4) Does hydrate of last changeset of main branch allow to work further in local repo (creation of new branches, commits, workspace access)? - Yes, and if you don't hydrate, you will be able to work correctly too, create branches, new commits, everything.
5) Does it mean that only data for latests revisions of each object be downloaded to local repo? - if you run hydrate, yet. If you don't: no data will be downloaded to the local repo (just to the workspaces).
6) What will be the result of pushing back branch of which last changeset was hydrated to local repo and in local repo new changesets from tasks branches were added? - it will work fine. In case you push to a repo where some data can't be resolved, the push operation will fail, asking you to hydrate before. I mean, suppose I pull without data from main/scm1233@skull.codicefactory.com:9095. Then I make some changes on the branch (like it had 3 changesets and I add another 2). Then I try to push to plastic@cloud where the scm1233 doesn't exist => it will ask me to hydrate first. But if I just push to skull (where no data is missing), it will all go fine.
7) What will happen if I try to merge my task branch to main branch which was replicated without data and there are conficts detected? - the update will download data from the right source to your workspace and the merge will go fine. Only issue if it can't download the data from the remote because there is no internet connection.

 

In short: you can safely use the --nodata repo even without ever hydrating it. Hydrating is good to totally go offline.

As I see it: nodata is great to have super light local repos, but still work connected to the central. I mean, you checkin locally, branch locally, etc, all the super fast ops you need. But you can still grab some data from central, and of course (this already existed) annotate from central. If you diff a cset whose data you don't have, it will be retrieved from central too.

 

Cool, isn't it? :-)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×