00:40:14  * Khorvoquit (Ping timeout: 248 seconds)
02:37:10  * martialcoderjoined
08:04:15  * tilgovijoined
08:11:12  * tilgoviquit (Remote host closed the connection)
08:11:30  * tilgovijoined
09:13:03  * vmxjoined
09:32:18  <vmx>ping JasonSmith
09:32:25  <JasonSmith>vmx pong
09:33:12  <vmx>JasonSmith: i need some advice from an operations point of view. the homebrew guys asked me to tag geocouch more regularly, and i guess you'd like that as well
09:33:23  <JasonSmith>totally
09:33:25  <JasonSmith>What's up
09:33:47  <vmx>my problem is how. not so much the technical part, but the scheme. how should i tag and make the difference between couchbase-geocouch and couchdb-geocouch?
09:34:07  <vmx>they will be kept compatible, but one might be ahead of the other one
09:34:33  <vmx>e.g. new things move quickly into the couchbase version and later be backported to the couchdb one
09:35:13  <vmx>but also reverse. e.g. i'd like to get the polygon search into the couchdb one, but it might take longer to get it into the couchbase one
09:36:24  <JasonSmith>Well, I have a similar use case. What I do is, first I have branches for each "platform"
09:36:35  <JasonSmith>"couchbase" "couchdb"
09:37:04  <JasonSmith>For versions I usually do "_" + the semver of my code (still talking about branches)
09:37:09  <JasonSmith>couchdb_v1.0
09:37:26  <JasonSmith>Just so (maybe one day in the future) a script can understand that
09:38:07  <JasonSmith>And for tags, I do (e.g.) couchdb_v1.2.1, couchbase_v1.0.5, etc.
09:38:26  <JasonSmith>Then I do a bunch of git cherry-pick :)
09:38:36  <JasonSmith>Not sure if any of that is helpful to you :)
09:38:47  <vmx>it is, thanks for the input
09:38:54  <JasonSmith>Also you have to consider, is it confusing to have a branch named couchdb_v1.0.3, etc.
09:39:05  <JasonSmith>Because you aren't developing couchdb :)
09:39:20  <JasonSmith>Me personally, I feel like it's fine, becuase all of this is in a dedicated repo now
09:39:32  <JasonSmith>maybe tags could be geocouch-couchdb_vX.Y.Z
09:39:35  <JasonSmith>*shrug*
09:39:40  <vmx>i wonder if my geocouch versions should diverge or not
09:40:17  <JasonSmith>I have the same thing with CouchDB. IMO they are usually quite similar to each other. It is pretty manageable
09:40:18  <vmx>i mean should the versioning of the couchbase and the couchdb be independent
09:40:30  <JasonSmith>Right
09:40:39  <JasonSmith>Like... you mean, why bother?
09:40:56  <JasonSmith>Well if you can maintain 100% parity, then cool :)
09:41:11  <JasonSmith>I have changes in CouchDB we use for Iris Couch that will never fold back into Apache CouchDB
09:41:40  <vmx>tags should be for developers/package makers, so it doesn't matter too much what the version really is
09:41:42  <JasonSmith>I have a little checklist about how to upgrade our internal builds. It is just 4 or 5 steps, but I don't have to think much
09:41:48  <JasonSmith>yeah
09:42:38  <vmx>and couchbase and couchdb are completely different beasts. i wonder if anyone will ever wonder why a couchdb_geocouch and a couchbase_geocouch version is not in sync
09:43:15  <vmx>as i'd like to keep feature parity, i could at least make the same 0.x versions having the same set of features
09:43:30  <vmx>doing this implicitly not as a must
09:44:45  <JasonSmith>right
09:45:03  <JasonSmith>couchdb and couchbase are different... but how different is your code to support them?
09:45:33  <vmx>hm, i could have sworn i have more tags in the geocouch repository
09:45:48  <vmx>at the moment it's 99% the same code
09:46:13  <vmx>in the future i'll split it into three parts, core, couchbase and couchdb
09:47:35  <vmx>i was so sure i tagged a geocouch 0.2.0
09:47:41  <JasonSmith>right
09:47:48  <JasonSmith>I was going to ask about that
09:47:58  <JasonSmith>But... if you have three parts, especially core
09:48:04  <JasonSmith>Is "core" a separate repo? That sounds crazy
09:48:25  <JasonSmith>What might be cool is a branch called "core"
09:48:38  <JasonSmith>And inside it is maybe just a subdirectory core/* with everything in there
09:48:43  <JasonSmith>(Might be hard to get working)
09:48:52  <vmx>it will be all in one repository
09:48:55  <JasonSmith>But then you just merge "core" into your other branches as you develop it stuff
09:49:04  <JasonSmith>Yes, that was my point, multiple repos is crazy
09:49:31  <vmx>the couchdb and couchbase part will only be the interface to the underlying r-tree
09:49:35  <JasonSmith>But it could be tricky because e.g. the Makefile (rebar.config, whatever) must be completely independent in "core" or else you will have merge issues
09:49:38  <vmx>and the r-tree is the main part
09:49:41  <JasonSmith>right
09:49:46  * tilgoviquit (Remote host closed the connection)
09:49:49  <JasonSmith>interesting
09:50:37  <vmx>next step would then be a riak-geocouch (which should be possible with their secondary indexes, but i haven't had a look into that yet)
09:51:57  <JasonSmith>Right
09:52:03  <JasonSmith>That would be awesome
09:52:09  <JasonSmith>I assume low priority for you :)
09:52:17  <vmx>indeed :)
09:52:28  <vmx>and of course bigcouch-geocouch
09:53:16  <vmx>back to the tags problem. i normally only add new features/fixes to the couchdb-geocouch that works with the current stable version of couchdb
09:53:51  <vmx>should my tags be couchdb_v0.x.x or (as my branch names) couchdbv1.2.x_v0.x.x
09:55:32  <vmx>i guess i go for branchname_version
09:55:43  <vmx>makes it clear and is easy to explain
09:57:23  <vmx>and last but not least. jason, how would you tag (technically)? i remember plenty of blog posts of "the right way to tag with git". which way are you doing it?
09:59:10  <JasonSmith>yeah I agree, branchname_version
09:59:41  <JasonSmith>Well, I use annotated tags (git tag -a)
09:59:59  <JasonSmith>And my tag message is basically the release notes. Usually a sentence, or a bullet list of the changes and new features
10:00:42  <JasonSmith>e.g: git tag -a -m 'Fix bug when foo was not sufficiently bar' branchname_vX.Y.Z
10:01:01  <JasonSmith>I don't gpg sign my tags or anything though
10:02:09  <vmx>ok. i'll tag the current version as 0.3.0 as i'm so sure i had a 0.2.x version a long time ago
10:02:22  <vmx>(it was back in couchone days, i remember tagging releases for you)
10:02:40  <JasonSmith>Totally :)
10:07:12  <vmx>btw: i don't know if you enjoy reading erlang source code, but the upcoming geocouch is here: https://github.com/couchbase/geocouch/blob/newvtree/
10:07:39  <vmx>my goal: writing the cleanest, easiest to test and understand code ever
10:10:01  <vmx>JasonSmith: and a last one about tagging: would you call the tags for the couchbase version: master_version or couchbase_version?
10:10:46  <JasonSmith>hm
10:11:10  <JasonSmith>I always tag couchbase_version, personally
10:11:16  <JasonSmith>(we work on different projects of course)
10:11:31  <JasonSmith>but to me, master is meaningless, "master" just means "whatever we are working on now"
10:11:36  <JasonSmith>In fact, my repo doesn't even have a master branch
10:11:55  <JasonSmith>My branches names have a purpose
10:12:27  <JasonSmith>(obviously master is fine for most projects, just not my work)
10:13:02  <vmx>great, i had the same impression. just wanted to double check :)
10:13:08  <vmx>*taggingnow*
10:14:24  <JasonSmith>hehe
10:15:04  <vmx>great, tagging when you use repo is not that easy *readingdocs*
10:16:56  <vmx>searching for keywords like "repo" and "tags" is fun ;)
10:25:15  <JasonSmith>yeah
10:25:17  <JasonSmith>what a bad name
10:35:07  <vmx>JasonSmith: thanks for the input. geocouch 0.3.0 is ready to be used
10:35:36  <vmx>in case you haven't upgraded yet, the nicest feature is that you can make requests without a bounding box, which will return all features
10:38:37  <JasonSmith>vmx: Awesome!
12:33:13  * martialcoderquit (Remote host closed the connection)
15:08:10  * martialcoderjoined
15:53:36  * martialcoderquit (Read error: Connection timed out)
15:58:50  * martialcoderjoined
16:53:53  * martialcoderquit (Read error: Connection timed out)
16:55:29  * martialcoderjoined
16:57:24  * martialcoderquit (Remote host closed the connection)
17:35:00  * vmxquit (Quit: Leaving)
20:30:30  * josdeha_rtjoined
20:54:47  * tilgovijoined
21:16:29  * josdeha_rtquit (Remote host closed the connection)
23:31:44  * tilgoviquit (Remote host closed the connection)