We might cut a release candidate or beta if you think you have more stuff. Also, I'll probably not bulk-commit. I'm just going to manually sync the changes. Sadly, backing out that commit won't work because it's been committed on both sides, and we can't roll-back-history inside google the way you can on a single-project-git-repo. : /

Not to worry - I'll start pushing change out today.

c.

On 15 May 2013, at 9:59, Stuart McCulloch wrote:

On 15 May 2013, at 17:33, Christian Gruber wrote:

I'm about to declare frustration and just bulk export all the change in a big commit. I'm fighting with a regression problem that JavaMoe has whereby it digs through Change Lists / commits in order to determine equivalency between two repositories, and then attempts to see what has changed in each since then, and stages changes from one relative to the other in a fresh version control workspace. All that is fine, but the last chagnes that got into our workspace internally were the Pom bumping changes that I believe you added, Stuart.

Yes, if it helps with the sync'ing you can drop/back-out that commit - it's only a few lines in a couple of files.

That should be fine, but it means that we have all sorts of change _behind_ the changes so its' having issues syncing.

I was trying to push out something that would reflect each change in our repository so the external repo would have these changes one-at-a-time, but that is proving more than JavaMOE can handle in the current state of the repo(s). So I'm going to bulk-push a big change out today, which amounts to a diff between git and google-internal. I'll try to collect change information (commit logs) so at least WHAT changed is reflected.

I do have Moe working well enough that once the two repos are in sync, as long as we do a regular sync before both repos stray too far from a common point, we should be fine. I'm sorry to have been so OCD about this - I was trying to keep the repos in good order for the open-source community, but at this point, a release is more important than repo cleanliness. :/

Sounds good - once the repos are in sync will there be a chance to suggest some patches/fixes before you cut a release?

Christian.

On 15 May 2013, at 6:02, Stuart McCulloch wrote:

Any news?  I'm willing to help out where needed...

On 18 Apr 2013, at 20:29, Christian Gruber wrote:
What Sam said… and…

we have to map a project's internal directory structure but also repository kind and the directory structure around projects.

Imagine you have an SVN repo and a git repo. The svn repo had, say, this structure and a build system that had build files close to the code:

${repo_root}/projects/project{1,2,3}/sources/some/package/build_file
${repo_root}/projects/project{1,2,3}/sources/some/package/MyCode.java
but you were open-sourcing project1 in its own git repo at

${new_repo_root}/build.xml
${new_repo_root}/some/package/MyCode.java
You can't just replay commits. You have to replay commits while simultaneously mapping directories around the projects, as well as within the project. You also have to scrub in both directions so the tool doesn't suck in changes to build.xml about which you may or may not internally care, while similarly ignoring build_file in the other direction. You may also want to scrub out internal-only code, etc.

(Guava also strips out anything with @GwtIncompatible when we generate our GWT-compatible sources so we can maintain fewer sources in duplicate form, though that's not an issue we tackle in Guice)

(A version of) the syncing system we use is here (https://code.google.com/p/moe-java/) though it is maintained by volunteers only. The format has idiosyncrasies and all the experts were very busy remaking the universe in their day jobs.

It really is kind of awesome black magic. Dan Bentley and Yash Parghi are wizards. But for a company to sync two source code bases that are disparate in structure, it's a life-saver (well, ok… a day-job time-saver).

cheers,
Christian.

On 17 Apr 2013, at 4:59, Sam Berlin wrote:

It's mostly just the directory structures are pretty different. MOE makes it all magically happen, so we've been banking on using the newer version of that... It just took a while to figure out the right incantation to make it happy. Now that Christian's figured it out, things should be smooth
again.

sam
On Apr 17, 2013 7:24 AM, "Tim Boudreau" [email protected] wrote:

On Wed, Apr 17, 2013 at 1:05 AM, Christian Gruber [email protected]:

I'm now unblocked on where I was blocked earlier trying to get our
syncing tool to work between the internal google repository and the code
site repository.

Having set up and also rebuilt from the ground up a lot of build systems
over recent years, you've got me curious - what are you guys doing
internally that makes this hard? I know large organizations have their processes and codebases have their history (I worked for Sun, after all!). But I've got to say, if it takes months to build a diff and apply it, the
reason why must be pretty interesting.

-Tim

You received this message because you are subscribed to the Google Groups
"google-guice" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-guice?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.

You received this message because you are subscribed to the Google Groups "google-guice" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-guice?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.

Christian Gruber :: Google, Inc. :: Java Core Libraries :: Dependency Injection
email: [email protected] :::: mobile: +1 (646) 807-9839


--
You received this message because you are subscribed to the Google Groups "google-guice" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-guice?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.



--
You received this message because you are subscribed to the Google Groups "google-guice" group. To unsubscribe from this group and stop receiving emails from it, send an email to
[email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-guice?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to the Google Groups "google-guice" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-guice?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.



--
You received this message because you are subscribed to the Google Groups "google-guice" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-guice?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to the Google Groups 
"google-guice" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-guice?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to