How to build sigmoid and dt

There is no need to create a new clone daily.
git pull will check Github for the latest version, and apply the changes to what you already have.
git clean -f followed by git reset --hard will clean all files from your cloned directory that are not present on Github (so you start with the same stuff as if you created a new clone).

If you ever want to go back to a previous version, you can do a git log, which lists all the updates, preceded by a code like 2afc54b. To go back to that specific version, run git checkout 2afc54b. To return to master: git checkout master. Note that git pull will not work after checking out a specific version (e.g., after git checkout 2afc54b), only on a ‘branch’ (a ‘live’ version that may receive updates; master is a ‘branch’).

3 Likes

Agreed, I’ve added a few lines about this.

This can be any email, but SHOULD be valid. Even though I primarily use a gmail address for most purposes nowadays, I still always use my old Cornell address for git commits to public opensource projects for a variety of reasons. (For internal commits at work, it’s my work email, which helps it get associated with our Bitbucket account automatically.)

This is only used when you commit code, whether or not it gets PRed or merged or anything.

It’s used to show authorship of any changes that are made. If you never plan on pushing changes to a public repository you can basically put anything here.

If you are pushing things on github, ideally that email address is associated with your github account in some way - otherwise github may fail to associate the commit with your github account.

I would not advise using @pixls.us since I am fairly certain that for most users (not mods/admins), username@pixls.us is not a valid email. Even if it is, it’s not most people’s primary email. Of course, again, it just doesn’t matter if you never push commits to a public repo.

1 Like

Great post - as I am not a developer I have often struggled with the ins and outs of git commands, but your explanations have been extremely useful!

One question regarding filmic 6 - how can you tell if this is activated? I assume the new code just replaces the existing filmic 5 and is invoked when you click on the filmic rgb tab. However, I cant see any different options onthe filmic tab on my system.

Nope it just adds another version of filmic in the module so I think now you can choose to use v3 to v6??

The main difference in what you will see in the UI is shown here…the math is done differently wrt saturation…as you will see no more curve for it and midtone saturation is now replaced with a slider to tweak extreme luma saturation…

image

image

Where do I look to see option for v3 v4 v5 v6?

Ok I spotted it in color science!

Many thx

Options…where you change the norms…and it you have never used those well you are in for a surprise…changing them changes the whole output…added as an edit in my first reply

Set the norm to be the same and then toggle v5 and v6 to look for any differences…

Original post edited, thanks

Thanks

Keeping in mind Kofa’s comments about the normal process of setting up a build and updating it using git pull…you might want to consider removing this paragraph. I think it could be confusing esp to new users, an audience that your post would be targeting… Just a thought…

Are these steps safe to follow without uninstalling current dt master (from opensuse repository)? Ie. keeping current install as is?

Do the steps to build sigmoid work for current master from opensuse (therefore can skip steps 1.1>1.13)? And if so, can similar steps be worked for new filmic v6?

@Soupy , I know nothing about opensuse I’m afraid, someone else will have to answer.
Re. your second point, current master includes filmic V6, if that helps.

Many thanks for these instructions. I found them very helpful in going back a few versions because of an issue.

1 Like

Personally I would just follow 4.0…simple to do. Pick a directory different from you currently installed version…

If you want to reset the master its easy to do…removing sigmoid for future builds…

Basically the same as described by @phweyland

chhil.pdf (114.5 KB)

I’m following 4. @phweyland way but after typing git submodule update, it hangs on
Cloning into ‘/home/tim/darktable/src/tests/integration’…

Any ideas?

Has it hung, or just taking a while? The test data is big, takes a while, best to do the suppression command.

Not sure. I gave it half an hour. Cloning into the submodules before it only took a few minutes max, so I assumed something was up. No idea what the suppression command is. Is the test data essential or can I carry on without it?

You don’t need the test data, I think it’s what the devs use for testing. The command is 1.9 in my process.

1 Like