Skip to content
Commits on Mar 31, 2011
  1. * CachingFetcher.cs:

      - Commit and Blob fetcher which caches the
        downloaded bits on disk so that they aren't re-fetched should the
        current push be throttled and returned to the queue.
      - Property dispose of WebClient instances when done fetching
      - More details logged on errors
      - Cleanup of the cached files that belong to pushes which have been
        successfully processed
    * AssemblyInfo.cs: Bumped CH version to
    * CommonBase.cs:
      - All logged messages are now prefixed with "*CaptainHook PRIORITY*:"
      - All Log overloads are static
      - Throttle is static
    * Commit.cs:
      - FetchDiff uses the CachingFetcher class now
      - More detail is logged on failures
    * CommitWithDiff.cs:
      - Blobs are fetched using CachingFetcher now
      - More detail is logged on failures
    * Mailer.cs:
      More details logged on failures
    * TemplateElementFactory.cs:
      The Version macro no longer uses hard-coded version.
    * TemplateElementPropertyReference.cs:
      Format DateTime properties using the "R" format
    * Config.cs:
      New properties added
    * CaptainHook.xml:
      - added two new options - periodicSender and gitHubApiCredentials
    * Global.asax.cs:
      - an instance of PeriodicSender is configured and created on application start
      - CachingFetcher gets initialized on application start
    * GitHubJsonPostHandler.cs:
      - factored out push processing code to a separate class (CommitSender)
    * CommitSender.cs:
      - Contains push processing code moved here from GitHubJsonPostHandler.cs
      - added detection of empty (e.g. compare) pushes. Such work items are renamed to
        have the .empty extension and left in the data directory for possible examination
    * PeriodicSender.cs:
      Runs a thread which periodically (5 minutes by default) checks the queue to see if new
      and unprocessed pushes exist.
Commits on Jan 10, 2011
  1. Merge branch 'master' of

    * 'master' of
      Honor rate limits from github
Commits on Nov 6, 2010
  1. @gonzalop

    Honor rate limits from github

    gonzalop committed
    	GitHub might send a X-RateLimit-Remaining header if we hit the maximum
    	connections per minute. When this happens we start sleeping between
    	requests. This requires a separate thread per commit file to avoid
    	locking up the threadpool.
  2. * Commit.cs: Log message format fix

    * GitHubJsonPostHandler.cs: Each file is processed in a separate
      thread, to speed up queue processing
  3. * AssemblyInfo.cs: Bumped version to

    * CaptainHook.GitHub.csproj:
    * CHWebClient.cs: Added - sets the timeout and enables automatic
    * Commit.cs: Log failed URLs when fetching blobs
    * Mailer.cs: Better error reporting
    * TemplateElementFactory.cs: Version bump
    The 'Subject' header doesn't split on '='
    * TemplateElementMailHeader.cs: Added the 'IgnoreEqualsSign' property
      which causes Generate not to look for a '=' in the headers's value
      and not to split on it to get header_name/header_value pair
    * GitHubJsonPostHandler.cs: Put work item back in the queue if mailer
      failed to send the message
Commits on Nov 5, 2010
  1. * Global.asax.cs: When application is starting, rename all the

      existing .json.processing files to .json, so that they will be
      re-processed at the next request.
    * GitHubJsonPostHandler.cs: Put the file back if anything failed in
Commits on Aug 11, 2010
  1. * Push.cs: Added new property, Pusher

    * TemplateElementFactory.cs: Renamed macro Diff to FullDiff to allow
      access to the Commit.Diff property members.
    Added new macro, IfDifferent, which takes 3 "arguments": leading_text,
      left_text, right_text and, if left_text and right_text are
    it returns leading_text + left_text, null otherwise.
    * commit.txt: Added Committer: field, if different from the commit
    Use @FullDiff@ instead of @this.Diff@
    * mail.txt: Formatting change
    * batch_005.txt: New test data batch
Commits on Aug 4, 2010
  1. Fixed a logic flaw. Never return the whole header value if it

      contains an equals sign - it caused the header contents to be
      malformed after the first mail was sent.
Commits on Aug 3, 2010
  1. ChangePaths header change

  2. Make it simpler

    Miguel de Icaza committed with
  3. * CaptainHook/Mail/Template.cs: If sending as committer is disabled

      and ConfigSource.UseCommitterAsSenderName is true, set the From:
      header to contain committers name+email as the sender name, e.g.:
    From: "User Name (" <>
    * CaptainHook/Utils/CommitSource.cs: Added new boolean property,
    * Web/App_Data/CaptainHook.xml: Added new attribute to commitSource,
      useCommitterAsSenderName, with documentation.
    * Web/App_Data/templates/mail.txt: Added X-Git-Committer header which
      contains committer's email address
  4. * CaptainHook/Mail/Template.cs: If sending as committer, use the

      <from> address from the configuration file (if present) as the email
      envelope sender. Otherwise use the committer as the envelope sender.
    * Web/App_Data/CaptainHook.xml: Updated comments
Commits on Aug 2, 2010
  1. * CaptainHook.GitHub.csproj: Added new file,

    * Mail/Template.cs: SetMessageHeader creates a header whose value is a
      comma-separated list of values when element is an instance of
      TemplateElementListMailHeader <>
    * Mail/TemplateElementFactory.cs: Added two new macros for the Push
      type, AffectedDirectories and NumberOfCommits
    * Mail/TemplateElementListMailHeader.cs: New type to support
      generating headers whose value is composed from a list of strings
    * Mail/TemplateElementMailHeader.cs: Added a protected Arguments
  2. * CaptainHook/Mail/Template.cs: Set the From header to the

      committer's email (read from the first commit in the push) if the
      current commit source is configured for this mode.
    * CaptainHook/Utils/CommitSource.cs: Added new property
      SendAsCommitter and a corresponding sendAsCommitter configSource
      element attribute
    * Web/App_Data/CaptainHook.xml: Updated sample file to include new
      commitSource attribute - sendAsCommitter
Commits on Jul 31, 2010
  1. Added a TODO item

  2. Removed unneeded binaries

  3. * Web/Handlers/GitHubJsonPostHandler.cs: - GitHub posts json with

      the application/x-www-form-urlencoded format, not application/json
    - GitHub removes query parameters from the post-receive hook URL,
      switched to a naming convention to retrieve authid and csid. The
      expected URL format is now authid_csid.github
    - URL-decode the data and remove the payload= lead from the text
      before processing it
    * ges/bin/Debug/ges.exe:
    * ges/bin/Debug/ges.exe.mdb:
    * ges/bin/Debug/CaptainHook.GitHub.dll:
    * ges/bin/Debug/CaptainHook.GitHub.dll.mdb:
  4. Initial commit

Something went wrong with that request. Please try again.