Jump to content

Why Changeset 0 is not valid for base point?


Oscar

Recommended Posts

Hi,

Seems that Plastic's changeset index is zero-based. The initial version of every item is #0. So it is paradoxical not to allow change the base point of a child branch to Changeset 0. In addition, if you create a child branch from a empty parent branch with "Changeset" base point, the base point is zero by default. But later on, if you try to change the base point of the child branch from its property dialog, you won't see Changeset 0 at all in the Changeset list at all.

Thanks,

-Oscar

Link to comment
Share on other sites

Hi,Pablo,

Here is the use case: a PM created a repository, which initially had only an empty /main branch. Then he created the first developer branch, /main/dev. Up to this point, /main/dev was based on Changeset 0 on /main. Later on, /main/dev may be rebased one or more times. But unfortunately, due to some unknow Plastic bugs or his own incorrect operations, files/directories on /main/dev were not as his expectation. So he wants to go back to the very begining, trying to rebase /main/dev to the point when it was created, which is Changeset 0. But Plastic doesn't allow him to do so, even though there is a base link point to Changeset 0 in BranchExpolore view.

Thanks,

-Oscar

Link to comment
Share on other sites

Hi Oscar,

Instead of rebasing the broken branch (which I doubt will come up with what you expect, because you'll need to merge after rebasing, and I guess it will get confusing), why don't you just create a new branch??

I don't understand why rebasing to an empty point will solve the problem.

Thanks,

pablo

Link to comment
Share on other sites

Hi, Pablo,

It may not be a broken branch, or at least I'm not sure if the child branch is broken. When something unexpected happen to the child branch, I have to debug the problem, instead of throwing it away and creating a new branch because I may have quie a few changes accumuated in the child branch already. It's my development branch.

In addition, the usage guide doc says (Section 3.12):

It is very important to understand how changing a branch base works. Each time a new base is set to a smart branch a new base link (also known as parent link) is created. So the base is not actually edited but a new one is created. This allows developers returning to previous configurations choosing the right branch changeset in their workspace selectors.

So we should be able to return to Changeset 0 if it is a valid base initially.

Thanks,

-Oscar

Link to comment
Share on other sites

Hi Oscar,

In order to do a correct rebase from cset 0 you should:

- set your base to cset 0

- merge from cset 0

if you merge from cset 0 (which is empty), right now our current merge system will propose all your changes to be deleted (delete wins in the directory conflict), so you'll end up with an empty branch, after doing a directory merge from the root dir.

As you can see, it sounds like a pointless operation.

But, I guess you're trying to achieve something different. Maybe we can help you if we manage to understand what you're looking for.

Thanks,

pablo

Link to comment
Share on other sites

  • 2 weeks later...

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...