-
Notifications
You must be signed in to change notification settings - Fork 207
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update SQLite support #344
Conversation
IMHO include headings as comments, something like
|
Good question. When I'm merging commits from here, I always keep the original ChangeLog entries (manually sorted by entry timestamp and merged back into my entries), sometimes with clearly labeled comments, e.g. in case it has already been implemented, or rejected with an explanation. This assumes that the patches are merged in their original form, with conflict resolutions only. I tend to apply post-merge fixes in separate commits. When merging in-mass, this might not be practical. Either way a reference to the original ChangeLog entry headers or Git commit hashes (or both) are very useful to add to keep track of what's committed. FWIW our custom of keeping a manual ChangeLog.txt is an unsustainable solution IMO. It causes permanent merge conflicts and inflates the Git database size (but that's probably the least of its problems). With Git, the effective ChangeLog is |
f5f816e
to
c7601a8
Compare
I have updated the ChangeLog entries and the commit messages. @vszakats Yes, the ChangeLog can definitely freeze GitHub-based collaboration. Every rebase is a mess. |
I suppose redacted ChangeLog.txt could alternatively land in hbdoc repo or something like that. Would broke traditional/simple commits, so feels bit bad, but surely would relive working with pull requests, merging, etc. |
I think it's enough to leave it in the repo (where it is now) and That said this also makes the current ChangeLog entry format Also, referencing commits via their hashes would be more useful This command can generate a log from commit entries, with filenames git log --pretty=medium --no-merges --date=iso --stat HEAD~50..HEAD |
Don't we need to release the new item in trace_handler case SQLITE_TRACE_CLOSE? |
* contrib/hbsqlit3/hbsqlit3.ch | ||
+ add SQLITE3_PREPARE_PERSISTENT constant | ||
; commit is borrowed from vszakats/hb@b33de96c81ac790f390e506160a4d1d8c2b5f4fe | ||
; 2017-08-01 20:23 UTC Viktor Szakats (vszakats users.noreply.github.com) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please keep the original header for merged commit entries
copied as-is. The commit entry itself is part of the work,
and the above reattributes that to someone else.
It's confusing and looks as if this entry was written by another
person. The "borrowed from" doesn't clarify this.
Also "origin", "merged from", "copied from" describes what is
going on. "borrowed from" doesn't., even though I know it's
customary wording in Harbour communities.
Furthermore I'd suggest using a link to the original commit. It's
more descripive and useful than "vszakas/hb@",
and also clickable.
This is what I have in mind:
2017-08-01 20:23 UTC Viktor Szakats (vszakats users.noreply.github.com)
* contrib/hbsqlit3/core.c
* contrib/sddsqlt3/core.c
* use new sqlite3_prepare_v3() when built against
sqlite 3.20.0 or upper.
* contrib/hbsqlit3/core.c
+ SQLITE3_PREPARE() add 3rd parameter <nPrepFlags>
Usable if build against sqlite 3.20.0 or upper, ignored otherwise
* contrib/hbsqlit3/hbsqlit3.ch
+ add SQLITE3_PREPARE_PERSISTENT constant
; Origin: https://github.com/vszakats/hb/commit/b33de96c81ac790f390e506160a4d1d8c2b5f4fe
Your name will appear as the committer in the merged commit,
so that is recorded as well.
Probably; I'll look at it but it needs to be discussed in #343, not here . |
@vszakats As I understand it, you are objecting to the way more or less everyone (yourself as well, see, e.g. |
@vszakats Of course, if you would like to merge the commits in question to harbour/core yourself, it could also solve the problem. |
With original timestamp they have to be "buried". One of the Viktor's response, on merging the other way around into 3.4:
Not that i remember doing this myself for old entries ever, sorry. But sort of makes sense if the merge takes all, getting all changes available for code, so should ChangeLog entries be merged likewise. |
@alcz @vszakats In my opinion, ChangeLog makes sense only when it's a chronological history of changes in the given repository. (well, after the switch to Git, one may argue that this is better served by |
@vszakats I'd like to add that I am more troubled by the chronological ordering of the ChangeLog than by the issue of ChangeLog entry authorship. |
I'm objecting to take a ChangeLog entry word-by-word and re-assign it When copying entries around, I'm asking to copy around the whole entry, In "2017-09-13 21:17 UTC" I was merging my own commits, so there was When merging locally, commit-by-commit, I always keep the whole entry And yes, maintaining a copy of these entries in ChangeLog.txt makes the EDIT: here is an example:
|
2e96d29
to
93ae3f3
Compare
@vszakats Please take a look if this approach is Ok. I've changed all headers with your code to your name. The header dates are new. Two of the commits are cherry-picked unchanged, the other two are the result of commit splitting and merging. Every commit is linked to all its origins in your repo. |
@tuffnatty: Thanks, it looks much better! Though in case of For Perhaps a format like would fit all criteria:
or this, with less indentation:
|
3e1f161
to
8137d8b
Compare
Rebased against latest master. |
43ee189
to
8087b05
Compare
Added patches for Borland C support, updated SQLite to 3.44.2, rebased against current |
; merged: 2015-04-09 11:34 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com) * contrib/hbsqlit3/core.c * contrib/hbsqlit3/hbsqlit3.hbx + add sqlite3_status64() % adjust variable scopes ! fix to reset reference parameters in functions with functionality disabled ; origin: vszakats/hb@5bcaa24 2015-09-02 19:11 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com) * contrib/hbsqlit3/core.c % use hb_fileLoad() ; Commit split from: ; origin: vszakats/hb@8f534aa 2017-08-01 20:23 UTC Viktor Szakats (vszakats users.noreply.github.com) * contrib/hbsqlit3/core.c * contrib/sddsqlt3/core.c * use new sqlite3_prepare_v3() when built against sqlite 3.20.0 or upper. * contrib/hbsqlit3/core.c + SQLITE3_PREPARE() add 3rd parameter <nPrepFlags> Usable if build against sqlite 3.20.0 or upper, ignored otherwise * contrib/hbsqlit3/hbsqlit3.ch + add SQLITE3_PREPARE_PERSISTENT constant ; origin: vszakats/hb@b33de96
* contrib/hbsqlit3/core.c * contrib/hbsqlit3/hbsqlit3.ch % Minor updates to hbsqlit3, borrowed from @vszakats's fork. ; parts of original commits: ; * vszakats/hb@ca9f758 ; 2015-05-13 21:07 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com) ; * vszakats/hb@949e77a ; 2015-07-15 20:26 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com) ; * vszakats/hb@dae1a86 ; 2017-08-14 18:59 UTC Viktor Szakats (vszakats users.noreply.github.com)
* contrib/hbsqlit3/hbsqlit3.ch * Updated SQLite constants to version 3.44.2. % Reordered hbsqlit3.ch to simplify diffing from sqlite.h. * contrib/hbsqlit3/core.c + SQLITE3_CREATE_FUNCTION(): Added support for function flags.
* contrib/3rd/sqlite3/* * Updated local sqlite3 from 3.8.2 to 3.44.2.
* contrib/sddsqlt3/core.c ! Fixed a different signedness compare warning.
@tuffnatty: It looks good to me, thank you! |
This is a series of patches that update SQLite support and make the strict CI builds green on most non-Windows platforms. It is meant to be applied on top of #343 .
It includes several patches from @vszakats 's fork. At the moment the original Viktor's ChangeLog entries are included at the top of Changelog.txt, with their original dates. I am not sure if it's good to leave it this way. Should I make my own entries dated as of today and just include the original entry headings as comments? @harbour/dev opinions?