diff --git a/contrib/git-sync/main.go b/contrib/git-sync/main.go index 3060fb71e03..b0aff6179b5 100644 --- a/contrib/git-sync/main.go +++ b/contrib/git-sync/main.go @@ -1,3 +1,21 @@ +/* +Copyright 2014 Google Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// git-sync is a command that periodically sync a git repository to a local directory. + package main // import "github.com/GoogleCloudPlatform/kubernetes/git-sync" import ( @@ -67,6 +85,7 @@ type Repo struct { lastRev string } +// NewRepo initalize a local bare repository mirror. func NewRepo() (*Repo, error) { mirrorRepoPath := path.Join(*dest, ".git") _, err := os.Stat(mirrorRepoPath) @@ -92,6 +111,9 @@ func NewRepo() (*Repo, error) { }, nil } +// Sync fetch new revision from the origin remote in the bare repository +// create a new checkout named after the revision +// update HEAD symlink to point to the new revision func (r *Repo) Sync() { cmd := exec.Command("git", "fetch", "origin", *branch) cmd.Dir = r.mirrorPath